Flutter JUnit报告生成插件junitreporter_flutter_3x的使用

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

Flutter JUnit报告生成插件junitreporter_flutter_3x的使用

简介

此应用程序可用于将Dart测试结果转换为JUnit XML报告。这些XML报告可以被其他工具如Jenkins CI使用。 它是由 https://github.com/TOPdesk/dart-junitreporter_flutter_3x 分支而来,该分支似乎不再维护。

通过运行以下命令:

dart test simple_test.dart --reporter json > example.jsonl
dart pub global run junitreporter_flutter_3x :tojunit --input example.jsonl --output TEST-report.xml

如果 simple_test.dart 的内容如下:

import 'package:test/test.dart';

void main() {
  test('simple', () {
    expect(true, true);
  });
}

则此程序将生成包含以下内容的 TEST-report.xml 文件:

<testsuites>
  <testsuite errors="0" failures="0" tests="1" skipped="0" name="simple" timestamp="2016-05-22T21:20:08">
    <properties>
      <property name="platform" value="vm" />
    </properties>
    <testcase classname="simple" name="simple" time="0.026" />
  </testsuite>
</testsuites>

对于转换Flutter测试报告,您需要使用 --machine 而不是 --reporter json

安装

运行以下命令以下载程序并创建一个启动脚本:<dart-cache>/bin/tojunit

dart pub global activate junitreporter_flutter_3x

如果 <dart-cache>/bin 目录不在您的路径中,您会收到警告,并包括修复方法的提示。

一旦目录在您的路径中,tojunit --help 应该能够运行并产生程序帮助。

然后您可以更简单地使用上面的例子:

dart test simple_test.dart --reporter json | tojunit

要运行所有Flutter测试:

flutter test --machine | tojunit

更多关于Flutter JUnit报告生成插件junitreporter_flutter_3x的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter JUnit报告生成插件junitreporter_flutter_3x的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter项目中,使用junitreporter_flutter_3x插件可以生成JUnit格式的测试报告,这对于持续集成(CI)流程特别有用。下面是一个关于如何使用junitreporter_flutter_3x插件的详细代码案例。

步骤 1: 添加依赖

首先,在pubspec.yaml文件中添加junitreporter_flutter_3x依赖。

dependencies:
  flutter:
    sdk: flutter
  test: ^1.17.0  # 确保test包的版本与junitreporter_flutter_3x兼容

dev_dependencies:
  junitreporter_flutter_3x: ^0.1.0  # 使用最新版本,具体版本请参考pub.dev

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

步骤 2: 配置测试脚本

接下来,你需要在你的测试脚本中引入并使用junitreporter_flutter_3x。以下是一个示例test文件example_test.dart,它包含了一些简单的测试。

import 'package:test/test.dart';
import 'package:junitreporter_flutter_3x/junitreporter_flutter_3x.dart';

void main() {
  // 使用JUnitReporter初始化测试配置
  useJUnitReporter();

  test('this is a passing test', () {
    expect(true, isTrue);
  });

  test('this is a failing test', () {
    expect(false, isTrue);
  });
}

步骤 3: 运行测试并生成报告

为了生成JUnit报告,你需要通过命令行运行测试,并指定报告的输出目录。以下是一个示例命令行命令:

flutter test --reporter=junit --reporter-on-fail --junit-report=path/to/output/directory
  • --reporter=junit:指定使用JUnit格式的报告。
  • --reporter-on-fail:仅当测试失败时才生成报告(可选)。
  • --junit-report=path/to/output/directory:指定JUnit报告的输出目录。

示例:完整的命令行运行

假设你想把JUnit报告输出到项目根目录下的test_reports文件夹中,你可以运行:

flutter test --reporter=junit --reporter-on-fail --junit-report=test_reports

注意事项

  1. 插件版本:确保你使用的junitreporter_flutter_3x版本与test包版本兼容。
  2. 路径问题:指定--junit-report路径时,确保该路径存在或具有写权限。
  3. CI集成:在CI系统中,你可能需要将生成的JUnit报告作为构建步骤的一部分进行上传或解析。

通过上述步骤,你应该能够在Flutter项目中成功生成JUnit格式的测试报告。这对于集成到CI/CD流程中,实现自动化的测试报告分析和展示非常有帮助。

回到顶部