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