在我的项目上运行测试时遇到问题。我正在使用JUnit,Mockito和PowerMock。
我有一个测试类,可以从Android Studio运行并且运行良好(6个工作中有6个工作)。但是,如果我不是使用AS来执行此操作,而是使用命令./gradlew test
,则其中三个将失败,并显示以下错误:
MyTestsClass.java:166上的java.lang.NoClassDefFoundError
搜索该行,我可以看到它正在调用一个方法(因此我想错误并不完全在此,而是在调用内部的某个地方)。
如何在命令中失败并在AS中工作?两者有什么区别?是什么原因导致该错误?
答案 0 :(得分:1)
可能是由于您的依赖性。
您没有在不会编译的测试中定义它们。例如:
// Needed to compile
compileOnly 'com.madgag.spongycastle:prov:1.54.0.0'
// Needed to compile tests
testImplementation 'com.madgag.spongycastle:prov:1.54.0.0'
可以吗?