Flutter测试运行插件very_good_test_runner的使用

发布于 1周前 作者 vueper 来自 Flutter

Flutter测试运行插件very_good_test_runner的使用

Very Good Test Runner

Very Good Ventures Very Good Ventures

Developed with 💙 by Very Good Ventures 🦄

ci coverage pub package style: very good analysis License: MIT

very_good_test_runner 是由Very Good Ventures开发的一个Flutter和Dart测试运行器。它旨在用于编写自定义工具时运行Flutter或Dart测试,并暴露一个TestEvent实例流。有关各种TestEvent类型的更多信息,请参阅JSON Reporter Test Protocol

使用方法

以下是very_good_test_runner的基本用法示例:

导入包

首先,确保在项目的pubspec.yaml文件中添加了very_good_test_runner依赖项:

dependencies:
  very_good_test_runner: ^latest_version

然后,在Dart文件中导入此包:

import 'package:very_good_test_runner/very_good_test_runner.dart';

运行测试

您可以根据需要选择运行dart testflutter test,并监听TestEvent事件以响应测试结果。

运行dart test

void main() {
  const arguments = ['--coverage']; // 您可以传递其他参数
  const workingDirectory = 'path/to/project'; // 设置工作目录

  // 运行 `dart test` 进程。
  dartTest(
    arguments: arguments,
    workingDirectory: workingDirectory,
  ).listen((TestEvent event) {
    // 对 `TestEvent` 实例作出反应。
    print(event);
  });
}

运行flutter test

void main() {
  const arguments = ['--coverage']; // 您可以传递其他参数
  const workingDirectory = 'path/to/project'; // 设置工作目录

  // 运行 `flutter test` 进程。
  flutterTest(
    arguments: arguments,
    workingDirectory: workingDirectory,
  ).listen((TestEvent event) {
    // 对 `TestEvent` 实例作出反应。
    print(event);
  });
}

示例代码

下面是一个更简单的例子,展示了如何直接监听TestEvent事件:

// ignore_for_file: avoid_print

import 'package:very_good_test_runner/very_good_test_runner.dart';

void main() {
  // 对 `TestEvent` 实例作出反应。
  flutterTest().listen(print);
}

通过这种方式,您可以轻松地将very_good_test_runner集成到您的项目中,以实现自动化测试流程和结果处理。希望这些信息对您有所帮助!如果有任何问题或需要进一步的帮助,请随时提问。


更多关于Flutter测试运行插件very_good_test_runner的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter测试运行插件very_good_test_runner的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,下面是一个关于如何在Flutter项目中使用very_good_test_runner插件来运行测试的示例。very_good_test_runner是一个用于简化和增强Flutter测试运行的插件,它允许你配置和运行测试,并提供更清晰的输出。

步骤 1: 添加依赖

首先,你需要在pubspec.yaml文件中添加very_good_test_runner的依赖。

dev_dependencies:
  flutter_test:
    sdk: flutter
  very_good_test_runner: ^x.y.z  # 替换为最新版本号

然后运行flutter pub get来安装依赖。

步骤 2: 配置test目录

确保你的测试文件位于test/目录下。例如,你可以有一个简单的测试文件test/example_test.dart

import 'package:flutter_test/flutter_test.dart';

void main() {
  test('adds one to input values', () {
    expect(1 + 1, equals(2));
  });
}

步骤 3: 配置tool/test.dart

very_good_test_runner需要一个入口文件来运行测试。通常这个文件位于tool/test.dart。你可以使用以下模板创建这个文件:

import 'package:test/test.dart' hide TestSuite;
import 'package:very_good_test_runner/very_good_test_runner.dart';

void main() {
  // 使用very_good_test_runner运行测试
  runTests(
    reporter: ProgressReporter(), // 选择一个你喜欢的reporter
    paths: ['test/**_test.dart'], // 指定测试文件的路径模式
  );
}

步骤 4: 更新tool/run_tests.sh (可选)

如果你希望在命令行中方便地运行测试,可以创建一个脚本tool/run_tests.sh

#!/bin/bash

# 停止正在运行的Dart VM服务
if pgrep -x 'dart' > /dev/null
then
    pkill -f 'dart'
fi

# 运行测试
dart tool/test.dart

确保这个脚本是可执行的:

chmod +x tool/run_tests.sh

步骤 5: 运行测试

现在你可以通过运行dart tool/test.dart来执行你的测试。如果你在Windows上,或者在命令行中不喜欢直接运行Dart脚本,也可以使用你配置的run_tests.sh脚本(在Unix-like系统上)。

示例输出

当你运行测试时,very_good_test_runner会提供一个清晰的进度报告,例如:

00:00 +0: loading /path/to/your/project/test/example_test.dart                                         
00:01 +1: example_test.dart: adds one to input values                                                
00:01 +2: All tests passed!                                                                           

这样,你就成功地配置了very_good_test_runner来运行你的Flutter测试。这个插件不仅提供了清晰的输出,还支持更多的自定义配置,如并发运行测试、特定标签的测试过滤等,具体可以参考very_good_test_runner的官方文档

回到顶部