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
which seems to not be maintained anymore.
By running
flutter test simple_test.dart --reporter json > example.jsonl
dart pub global run flutter_junitreport :tojunit --input example.jsonl --output TEST-report.xmland 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
<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>For transforming Flutter tests reports, instead of passing --reporter json, you need to use --machine.
Put inside your pubspec.yaml under dependencies
flutter_junitreport:
git:
url: https://github.com/waffiqaziz/flutter-junitreport.git
ref: mainIf 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 | tojunitAnd to run all tests for Flutter:
flutter test --machine | tojunit