3

我一直在尝试使用 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)

我究竟做错了什么。提前致谢

4

2 回答 2

0

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

于 2014-12-09T21:12:48.750 回答
0

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

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

于 2013-02-05T04:32:11.043 回答