Flutter 如何在颤振中进行集成测试?

Flutter 如何在颤振中进行集成测试?,flutter,flutter-dependencies,Flutter,Flutter Dependencies,我想在颤振中进行集成测试。我遵循的教程给出了以下步骤: 将颤振驱动程序包添加到pubspec: 启用颤振驱动程序扩展并添加对的调用 main.dart中的EnableFlatterDriverExtension()函数 使用颤振驱动命令运行集成测试: 颤振驱动——目标=我的应用程序/测试驱动程序/我的测试.dart 我的问题是理解步骤2。我不清楚在Android Studio中在哪里启用驱动程序扩展,以及在main.dart中到底在哪里调用函数enableBriftDriveExtension(

我想在颤振中进行集成测试。我遵循的教程给出了以下步骤:

  • 将颤振驱动程序包添加到pubspec:
  • 启用颤振驱动程序扩展并添加对的调用 main.dart中的EnableFlatterDriverExtension()函数
  • 使用颤振驱动命令运行集成测试: 颤振驱动——目标=我的应用程序/测试驱动程序/我的测试.dart
  • 我的问题是理解步骤2。我不清楚在Android Studio中在哪里启用驱动程序扩展,以及在main.dart中到底在哪里调用函数enableBriftDriveExtension()

    我对第三步也有问题。在运行上述命令后,它在我的终端中显示

    Error: The Flutter directory is not a clone of the GitHub project.
           The flutter tool requires Git in order to operate properly;
           to set up Flutter, run the following command:
           git clone -b stable https://github.com/flutter/flutter.git
    

    您必须将此代码添加到test_driver/app.dart文件中

    import 'package:flutter_driver/driver_extension.dart';
    import 'package:[YOUR_APP]/main.dart' as app;
    
    void main() {
      // This line enables the extension
      enableFlutterDriverExtension();
    
      // Call the `main()` function of your app or call `runApp` with any widget you
      // are interested in testing.
      app.main();
    }
    
    您可以在官方颤振文档网站上找到更多信息(步骤3和步骤4):


    祝你好运;)

    为了在flatter中运行集成测试,您需要在app root dir中创建“test\u driver”目录。然后您需要在“test_driver”文件夹中创建两个文件

  • 让我们调用第一个文件“app.dart”,然后在那里您需要为您的应用程序安装仪器(上面的答案)

  • 然后,您需要创建一个名为“app_test.dart”的测试文件,并在这里编写实际的测试代码

  • 当您想要运行该测试时,只需运行“颤振驱动--target=test\u driver/app.dart”

    关于问题中的第3步,请检查是否正确设置了flatter home,并在添加flatter_驱动程序依赖项后,运行“packages get”

  • import 'package:flutter_driver/driver_extension.dart';
    import 'package:[YOUR_APP]/main.dart' as app;
    
    void main() {
      // This line enables the extension
      enableFlutterDriverExtension();
    
      // Call the `main()` function of your app or call `runApp` with any widget you
      // are interested in testing.
      app.main();
    }