首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MockitoAnnotations.initMocks在mock()成功时崩溃

MockitoAnnotations.initMocks在mock()成功时崩溃
EN

Stack Overflow用户
提问于 2015-08-28 07:11:14
回答 2查看 2K关注 0票数 9

在我的插装测试中使用@Mock注解时遇到了问题。

下面是我的gradle依赖项:

代码语言:javascript
复制
androidTestCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'

下面是一段示例代码:

代码语言:javascript
复制
@Mock View mockView

@Before
public void setup() {
    MockitoAnnotation.initMocks(this);
    ...
}

这将使用以下命令崩溃

代码语言:javascript
复制
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)
...

然而,这是可行的。

代码语言:javascript
复制
View mockView

@Before
public void setup() {
    mockView = Mockito.mock(View.class);
    ...
}

有谁知道这是怎么回事吗?

EN

回答 2

Stack Overflow用户

发布于 2015-09-11 21:31:56

这是dexmaker中的一个bug。我已经提交了一个拉取请求来修复:https://github.com/crittercism/dexmaker/pull/24

请注意,您可以通过在测试类中避免null成员变量来解决此问题。

票数 3
EN

Stack Overflow用户

发布于 2016-04-15 16:56:12

我在那里创建了一个问题https://github.com/mockito/mockito/issues/392

非常糟糕的修补程序:

代码语言:javascript
复制
try {
  MockitoAnnotations.initMocks(this);
} catch (NullPointerException e) {
  //waiting for fix
}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32260865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档