我正尝试在Firebase测试实验室
上运行我的集成测试。
flutter build apk -t lib/main_dev.dart
./gradlew app:assembleAndroidTest -Ptarget=lib/main_dev.dart
./gradlew app:assembleDebug -Ptarget=integration_test/login_test.dart
这段代码生成app-debug-androidTest.apk
和app-debug.apk
,一旦我在Test Lab
中上传它们,测试就可以完美执行。
现在的问题是,我有许多测试文件在integration_test
下面。我不确定如何创建一个包含integration_test
下所有测试用例的app-debug-androidTest.apk
。
我尝试了以下方法:
flutter build apk -t lib/main_dev.dart
./gradlew app:assembleAndroidTest -Ptarget=lib/main_dev.dart
./gradlew app:assembleDebug -Ptarget=test_driver/integration_test.dart
但是这个测试卡在黑屏上,我认为这很奇怪,但这是正确的行为,因为在本地设备上运行集成测试时,我们也需要提供目标和驱动程序。
所以对于本地环境,我有一个脚本。
flutter drive \
--driver=test_driver/integration_test.dart \
--target=integration_test/login_test.dart
flutter drive \
--driver=test_driver/integration_test.dart \
--target=integration_test/register_test.dart
运行所有集成代码的程序。
我的问题是如何上传所有测试用例。
还是说我们需要为每个测试用例建立一个构建(build)。
./gradlew app:assembleDebug -Ptarget=integration_test/login_test.dart
然后将其上传到测试实验室,再次进行测试。
./gradlew app:assembleDebug -Ptarget=integration_test/register_test.dart
重新上传吗?
flutter test integration_test/
这个大套件时,我们观察到在测试运行之间发生了额外的构建。虽然这一步骤很慢,但它确保了可靠性。 - satyajit