1
我想在我的测试中嘲笑一个属性设置器,但是我无法找到关于它如何执行的任何事情。以下是我迄今为止尝试:模拟属性设置器
interface Foo
{
var property: Int
}
@RunWith(MockitoJUnitRunner::class)
class TestClass
{
@Mock private val fooMock: Foo = mock()
private var temp = 0
@Before
fun setup()
{
whenever(fooMock.property).then {
invocation ->
if (invocation.arguments.isEmpty())
{
// this part works fine
[email protected] 15
}
else
{
// this never gets called
temp = invocation.getArgument(0)
null
}
}
}
}
注:我使用com.nhaarman.mockito_kotlin库
令人难以置信的谢谢!我知道验证和捕获,在我的情况下,这是不够的。该属性被访问两次,并在同一个函数调用之间设置一次,我需要模拟它。也不知道我可以跳过annonation :) – rozina