android - 在 Android 框架中使用 Power Mock 进行单元测试

标签 android mocking powermock

我一直在尝试使用 PowerMock 和 Mockito 在 Android 中进行单元测试。我成功地通过 Mockito 进行模拟,但由于 Mockito 无法模拟静态方法和最终类,因此我需要将 PowerMock 与 Mockito 一起包含在内。

但每当我使用这条线时

Example ma=PowerMockito.mock(Example.class);

它给出异常:

    java.lang.ExceptionInInitializerError
at org.mockito.internal.creation.jmock.ClassImposterizer.createProxyCla(ClassImposterizer.java:85)
at org.mockito.internal.creation.jmock.ClassImposterizer.imposterise(ClassImposterizer.java:62)
at org.powermock.api.mockito.internal.mockcreation.MockCreator.createMethodInvocationControl(MockCreator.java:110)

我做错了什么。提前致谢

最佳答案

这篇博文表明,您不能仅仅将 mockito 包含到 android 测试项目中。 http://www.paulbutcher.com/2012/05/mockito-on-android-step-by-step/

如果您必须使用模拟框架,请遵循其中的步骤或使用类似 robolectric 框架的东西。

关于android - 在 Android 框架中使用 Power Mock 进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14700006/

相关文章:

python - 在修补导入的模块时模拟返回 ImportError

java - Android studio 3.0.1使用库时无法合并dex?

android - 无法创建媒体播放器(使用 url)

Python 模拟、django 和请求

android - PowerMock 模拟 MoreAsserts

java - 如何使用 mockito/powermock 模拟 Google 的地理编码 API 请求?

java - Mockito.any(class) 生成无效使用匹配器异常

java - Android 本地通知不适用于三星 Galaxy

Android Layout透明布局背景带下划线

python - 如何修复调用中的 mock_open 差异而不是最终结果