如何解决在功能模块中放置仪器测试
我有一个包含应用程序模块和功能/库模块的多模块架构。
目前,app 模块中有一些功能检测测试。我想将在 androidTest
文件夹下的各个功能模块中测试特定功能的仪器测试移动。经过一些试验和错误,这是状态:
androidTest {
java.srcDirs += [
"${project(':feature').projectDir}/src/androidTest/kotlin"
]
assets.srcDirs = [
"${project(':feature').projectDir}/src/androidTest/assets/",]
}
defaultConfig {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
- 在应用模块的 androidTest AndroidManifest.xml 中
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx">
<application
android:theme="@android:style/Theme.Light"
android:name=".App"
android:label="Test app">
</application>
</manifest>
当我从android studio界面运行测试时,测试成功。但是,当从命令行 (./gradlew :feature:connectedAndroidTest
) 运行测试时,由于应用程序在运行时崩溃(由于 koin 模块未初始化 - 它们位于 CustomApplication's onCreate
),测试失败!
更奇怪的是,如果我将功能模块的 androidTest 文件夹移动到它自己的模块中(例如依赖于功能模块的功能测试模块),它就可以工作!
是否有任何标准化方法可以在多模块设置中的每个功能模块中放置仪器测试?为什么从 android studio 运行测试成功,但从命令行运行不成功?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。