![](/img/trans.png)
[英]java.lang.NoClassDefFoundError while running JUnit test in Netbeans
[英]Robolectric PowerMock java.lang.NoClassDefFoundError error while running a test
我想集成powermock来测试Firebase逻辑。 我试图运行测试并得到以下信息: java.lang.NoClassDefFoundError: org/mockito/cglib/proxy/MethodInterceptor
这是我的app.gradle:
testCompile 'junit:junit:4.12'
testCompile "org.powermock:powermock-module-junit4:1.7.0"
testCompile "org.powermock:powermock-module-junit4-rule:1.7.0"
testCompile "org.powermock:powermock-api-mockito:1.7.0"
testCompile "org.powermock:powermock-classloading-xstream:1.7.0"
testCompile "org.robolectric:robolectric:3.4.2"
testCompile 'org.mockito:mockito-core:2.1.0'
这是我的测试:
@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class)
@PowerMockIgnore({ "org.mockito.*", "org.robolectric.*", "android.*" })
@PrepareForTest({FirebaseAuth.class, FirebaseDatabase.class})
public class LoginTest {
@Before
public void setUp() {
PowerMockito.mockStatic(FirebaseAuth.class);
Mockito.when(FirebaseAuth.getInstance()).thenReturn(Mockito.mock(FirebaseAuth.class));
}
@Test
public void test() {
}
}
您正在将'org.mockito:mockito-core:2.1.0'
与"org.powermock:powermock-api-mockito:1.7.0"
。
要将PowerMock与Mockito 2一起使用,应使用"org.powermock:powermock-api-mockito2:1.7.0"
。
您需要在类路径中使用cglib库。
我的解决方案是始终从此处下载“完整的” powermock ZIP。 这些ZIP文件包含使用PowerMock所需的一切 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.