【问题标题】:Running multiple test case on Firebase Test Lab在 Firebase 测试实验室上运行多个测试用例
【发布时间】:2021-03-01 15:58:10
【问题描述】:

我正在尝试在 Firebase Test Lab 上运行我的集成测试。

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.apkapp-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

它运行所有的集成代码。

所以我的问题是如何上传所有的测试用例。

或者我们必须为每个测试用例进行构建

./gradlew app:assembleDebug -Ptarget=integration_test/login_test.dart

然后再上传到测试实验室

./gradlew app:assembleDebug -Ptarget=integration_test/register_test.dart

然后重新上传?

【问题讨论】:

    标签: flutter integration-testing firebase-test-lab


    【解决方案1】:

    我刚刚遇到了同样的问题。为了其他人将来参考,我所做的是将所有测试导入一个文件all_tests.dart

    假设目录结构是

    integration_test/
      test1.dart
      test2.dart
      test3.dart
      all_tests.dart
    

    all_tests.dart,我将所有测试导入到:

    import 'test1.dart' as test1;
    import 'test2.dart' as test2;
    
    void main() {
      test1.main();
      test2.main();
      ...
    }
    

    【讨论】:

    • 这有效吗?我只能启动第一个文件,然后我得到“所有测试都通过了”。另一个被跳过。
    • 编辑:它确实有效,但如果您使用此处解释的屏幕截图方法,则无效:github.com/flutter/flutter/tree/master/packages/…
    猜你喜欢
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多