Flutter集成测试:如何在Firebase Test Lab单次运行多测试类APK
解决一次性运行所有集成测试类的问题
你之前尝试给./gradlew app:assembleDebug传多个-Ptarget参数没用,因为这个参数只能指定单个测试文件路径,多次指定会被最后一个覆盖。要批量运行所有integration-test下的测试,得用「统一测试入口文件」的方式,步骤如下:
1. 创建全局测试入口文件
在integration_test文件夹下新建一个all_tests.dart文件,把所有测试类导入并执行它们的main方法:
// integration_test/all_tests.dart import 'class1_test.dart' as class1; import 'class2_test.dart' as class2; // 有更多测试类的话,继续添加导入语句 void main() { class1.main(); class2.main(); // 依次调用每个测试类的main函数 }
2. 修改脚本打包全局测试包
把原来脚本中指定单个测试类的-Ptarget参数,改为指向这个新的入口文件:
pushd android flutter build apk ./gradlew app:assembleAndroidTest // 替换为全局测试入口文件 ./gradlew app:assembleDebug -Ptarget=integration_test/all_tests.dart popd gcloud firebase test android run \ --type instrumentation \ --app build/app/outputs/apk/debug/app-debug.apk \ --test build/app/outputs/apk/androidTest/debug/app-debug-androidTest.apk
这样打包出来的测试APK就会包含所有测试类的用例,在Firebase Test Lab运行时就会一次性执行全部测试。
内容的提问来源于stack exchange,提问作者slava so
相关产品推荐
相关产品推荐

