Android-模仿问题

Android-模仿问题,android,unit-testing,kotlin,mockito,Android,Unit Testing,Kotlin,Mockito,我有一个自定义类: class MyClass { var name = "" fun changeName(newName: String) { name = newName } } 还有我的测试课: @Test fun testVerifyMock() { val instance: MyClass = mock() instance.changeName("newname") Assert.assertEquals("

我有一个自定义类:

class MyClass {
    var name = ""

    fun changeName(newName: String) {
        name = newName
    }
}
还有我的测试课:

@Test
fun testVerifyMock() {
    val instance: MyClass = mock()

    instance.changeName("newname")

    Assert.assertEquals("newname", instance.name)
}
我是单元测试新手,有点困了,有人能告诉我为什么我会出现这个错误吗:

java.lang.AssertionError: 
Expected :newname
Actual   :null

基本上,调用
实例.changeName(“newname”)
似乎没有改变名称,因为它总是
null

Mockito mock忽略传递给它们的方法的内容,除非明确告诉它们该做什么。在
changeName
的情况下,该参数被忽略,因此
name
将保持
null
。我不明白你为什么要在这里使用mock,所以请改为:

val instance = MyClass()
...

这里有一篇文章。

Mockito mock只需忽略传递给其方法的内容,除非您明确告诉他们该做什么。在
changeName
的情况下,该参数被忽略,因此
name
将保持
null
。我不明白你为什么要在这里使用mock,所以请改为:

val instance = MyClass()
...

这里有一篇关于的帖子。

谢谢!事实上,我还是不知道什么时候该嘲笑!那会很有帮助的谢谢!事实上,我还是不知道什么时候该嘲笑!那将非常有帮助