我正在使用Android和Mockito进行某些单元测试,创建了一个间谍对象,然后修改了该间谍对象的属性,如果我进行了断言,实际上,属性值已正确更改,但是如果我在监视对象上使用该属性的方法调用该方法,则该方法使用的值是原始值,而不是先前修改的值。
会发生什么?
我使用的是'org.mockito:mockito-core:2.21.0',而且我尝试使用Mockito.when()。thenReturn()或doReturn()。when()都没有成功。
代码如下:
myObject = Mockito.spy(realObject)
//Original isConnecting value is FALSE
myObject?.isConnecting = true
//This Assert returns success
Assert.assertEquals(true, myObject?.isConnecting)
myObject?.innerObject?.methodA()
methodA()使用isConnecting属性,但是如果我调试测试,则该方法使用的值为false,而不是先前修改的(true)。