Reporters
Reporter modules format and output TestCafe test run results.
Included Reporters
TestCafe includes the following reporters out of the box:
Community Reporters and Custom Reporters
You can install community reporters or create a custom reporter of your own.
The following community reporters are amongst the most popular:
Install New Reporters
Reporter plugins are npm packages. TestCafe reporter package names start with the testcafe-reporter- prefix (for example, testcafe-reporter-list).
You can search for reporter packages on npm: https://www.npmjs.com/search?q=testcafe-reporter.
Install reporter packages from npm as you would install any other plugin. See Install Plugins.
Specify the Reporter
The default reporter is spec. To use an alternative reporter, use the -r (--reporter) CLI option or the [runner.reporter] Test Runner method.
testcafe all ./tests/sample-fixture.js -r xunit
await runner
.browsers('all')
.src('./tests/sample-fixture.js')
.reporter('xunit')
.run();
You can also specify which the reporter in the configuration file.
Output data to disk
TestCafe reporters can write report data to disk:
testcafe all ./tests/sample-fixture.js -r json:report.json
await runner
.browsers('all')
.src('./tests/sample-fixture.js')
.reporter('json', 'report.json')
.run();
Use Multiple Reporters
You can use multiple reporters, provided only one of them writes to stdout. In the examples below, the spec reporter outputs data to stdout, while the xunit reporter writes data to disk.
testcafe all ./tests/sample-fixture.js -r spec,xunit:report.xml
await runner
.browsers('all')
.src('./tests/sample-fixture.js')
.reporter(['spec', {
name: 'xunit',
output: 'report.xml'
})
.run();