为具有动态功能的 Android 项目创建单元和仪器测试
Create Unit and Instrumentation test for Android project with dynamic features
我有一个项目,其中有 main :app 包。除此之外,该应用程序在同一个包中包含两个动态功能::features:A 和 :features:B。
这里的问题是我无法 运行 单元和仪器测试(Espresso,UI Automator),因为以下错误:
“AAPT: error: resource string/app_name (aka com.app.A.test:string/app_name) not found.”
当我 运行 测试(UI 测试在这种情况下)应用程序编译和工作没有任何问题。
我发现是manifest merging出错了,从complete error可以看出:
/Users/user/company/app/features/A/build/intermediates/tmp/manifest/androidTest/app/debug/manifestMerger7870721738992192959.xml:7:5-9:19: AAPT: error: resource string/app_name (aka com.app.A.test:string/app_name) not found.
库(上面日志中的 A 或 B)需要在测试变体的合并清单中找到的一些值。要修复它,您需要在动态特性中添加测试依赖 build.gradle
:
dependencies {
implementation project(":app")
androidTestImplementation project(":app")
}
我有一个项目,其中有 main :app 包。除此之外,该应用程序在同一个包中包含两个动态功能::features:A 和 :features:B。
这里的问题是我无法 运行 单元和仪器测试(Espresso,UI Automator),因为以下错误:
“AAPT: error: resource string/app_name (aka com.app.A.test:string/app_name) not found.”
当我 运行 测试(UI 测试在这种情况下)应用程序编译和工作没有任何问题。
我发现是manifest merging出错了,从complete error可以看出:
/Users/user/company/app/features/A/build/intermediates/tmp/manifest/androidTest/app/debug/manifestMerger7870721738992192959.xml:7:5-9:19: AAPT: error: resource string/app_name (aka com.app.A.test:string/app_name) not found.
库(上面日志中的 A 或 B)需要在测试变体的合并清单中找到的一些值。要修复它,您需要在动态特性中添加测试依赖 build.gradle
:
dependencies {
implementation project(":app")
androidTestImplementation project(":app")
}