我正在尝试在我的 Android 项目中使用 Espresso 添加仪器测试。
除了添加 AndroidJUnitRunner 作为 testInstrumentationRunner 之外,我还添加了所有必要的库:
但由于某种原因,导入在仪器测试文件中不起作用:
但是本地测试文件正在正确获取导入:
我还添加了 junit 作为 androidTestImplementation,但没有什么区别:
androidTestImplementation 'junit:junit:4.12'
这就是我无法运行测试文件的原因。
如果我无论如何运行该文件,我会收到此错误:
Process finished with exit code 1
Class not found: "com.mcp.shippax.MainActivityEspressoTest"Empty test suite.
当设置如此直接和简单时,我无法理解为什么会发生这种情况(许多等级同步/无效缓存/重新启动)。
除了将大部分源文件(包括测试文件)转换为 Kotlin 之外,我不记得做过任何项目更改。但后来我又将测试文件恢复回java。
最佳答案
我也遇到了同样的问题。我为开发和生产环境提供了各种构建类型,对我有帮助的是指定 testBuildType,如这个答案 https://stackoverflow.com/a/34778780/9736105 所示。 .
所以像这样:
android {
...
testBuildType "<my-build-type>"
buildTypes {
<my-build-type> {
...
}
....
}
}
完成此操作并将构建变体设置为该构建类型后,我能够解决所有依赖项。
关于androidTest 未编译,显示无法解析符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54663911/