在项目上运行测试时遇到问题。我正在使用JUnit、Mockito和PowerMock。
我有一个测试类,我可以从安卓工作室运行,效果很好(6个中有6个可以工作(。但是,如果我没有从AS中进行操作,而是使用命令./gradlew test
,则其中三个失败并出现错误:
java.lang.NoClassDefFoundError在MyTestsClass.java:166
搜索这一行,我可以看到它正在调用一个方法(所以我认为错误不在那里,而是在调用内部的某个地方(。
它怎么会从命令中失败,从AS中工作?这两者有什么区别?是什么原因导致了这个错误?
这可能是因为您的依赖关系。
你没有在它不会编译的测试中定义它们。例如:
// 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'
可能是吗?