我开始学习Kotlin和Mockito,所以我编写了一个简单的模块来测试它.
AccountData_K.kt:
open class AccountData_K {
var isLogin: Boolean = false
var userName: String? = null
fun changeLogin() : Boolean {
return !isLogin
}
}
Run Code Online (Sandbox Code Playgroud)
AccountDataMockTest_K.kt:
class AccountDataMockTest_K {
@Mock
val accountData = AccountData_K()
@Before
fun setupAccountData() {
MockitoAnnotations.initMocks(this)
}
@Test
fun testNotNull() {
assertNotNull(accountData)
}
@Test
fun testIsLogin() {
val result = accountData.changeLogin()
assertEquals(result, true)
}
@Test
fun testChangeLogin() {
`when`(accountData.changeLogin()).thenReturn(false)
val result = accountData.changeLogin()
assertEquals(result, false)
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,它会报告有关该testChangeLogin()方法的异常:
org.mockito.exceptions.misusing.MissingMethodInvocationException:
when() requires an argument which has …Run Code Online (Sandbox Code Playgroud)