在我的插装测试中使用@Mock注解时遇到了问题。
下面是我的gradle依赖项:
androidTestCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'下面是一段示例代码:
@Mock View mockView
@Before
public void setup() {
MockitoAnnotation.initMocks(this);
...
}这将使用以下命令崩溃
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
at com.google.dexmaker.mockito.DexmakerMockMaker.getInvocationHandlerAdapter(DexmakerMockMaker.java:80)
at com.google.dexmaker.mockito.DexmakerMockMaker.getHandler(DexmakerMockMaker.java:75)
...然而,这是可行的。
View mockView
@Before
public void setup() {
mockView = Mockito.mock(View.class);
...
}有谁知道这是怎么回事吗?
发布于 2015-09-11 21:31:56
这是dexmaker中的一个bug。我已经提交了一个拉取请求来修复:https://github.com/crittercism/dexmaker/pull/24
请注意,您可以通过在测试类中避免null成员变量来解决此问题。
发布于 2016-04-15 16:56:12
我在那里创建了一个问题https://github.com/mockito/mockito/issues/392
非常糟糕的修补程序:
try {
MockitoAnnotations.initMocks(this);
} catch (NullPointerException e) {
//waiting for fix
}
https://stackoverflow.com/questions/32260865
复制相似问题