JUnit Report


This application can be used to convert the results of dart tests to JUnit xml reports. These XML reports can then be used by other tools like Jenkins CI. It is a fork from https://github.com/TOPdesk/dart-junitreporter_flutter_3x , which seems to not be maintained anymore.

By running

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

and the contents of simple_test.dart is

import 'package:test/test.dart';

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

this program will generate 'TEST-report.xml' containing

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

For transforming Flutter tests reports, instead of passing --reporter json, you need to use --machine.


Run dart pub global activate junitreporter_flutter_3x to download the program and make a launch script available: <dart-cache>/bin/tojunit.

If the <dart-cache>/bin directory is not on your path, you will get a warning, including tips on how to fix it.

Once the directory is on your path, tojunit --help should be able to run and produce the program help.

Then you can also use the example above much simpler:

dart test simple_test.dart --reporter json | tojunit

And to run all tests for Flutter:

flutter test --machine | tojunit

License and contributors