【问题标题】:Using Power Mock for Unit testing in Android Framework在 Android 框架中使用 Power Mock 进行单元测试
【发布时间】:2013-02-05 04:04:05
【问题描述】:

我一直在尝试使用 PowerMock 和 Mockito 在 Android 中进行单元测试。我通过 Mockito 成功地模拟了,但是由于 Mockito 不能模拟 Static methods 和 final classes ,所以我需要将 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)

我做错了什么。提前致谢

【问题讨论】:

  • 你是如何在 android 中使用 mockito 的?
  • 我已经包含了它的罐子。示例 a=mock(Example.class) 工作正常并且没有给出任何异常

标签: android mocking powermock


【解决方案1】:

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

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

【讨论】:

【解决方案2】:

您是否将 @PrepareForTest(Example.class) 注释添加到测试类的顶部?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多