Reporters
Reporters in Rstest control how test results are displayed and processed.
You can use built-in reporters to get different output formats or create custom reporters to integrate with your workflow.
Using reporters
You can configure reporters through:
- CLI:
--reporter=<name>(can be used multiple times) - Config file: Add reporters to your
rstest.config.ts
More configuration options can be found in the Reporters Configuration documentation.
Reporter options for built-in reporters are defined in the TypeScript types: packages/core/src/types/reporter.ts
Built-in reporters
Rstest provides several built-in reporters:
Default reporter
The default reporter displays test run status, results, and summary information in your terminal with colored output.
Output example:
Configuration options:
summary: Whether to display summary information (default:true)logger: Custom logger function for output (default:process.stdout/process.stderr)
Verbose reporter
The verbose reporter outputs detailed information for all test cases, including successful ones. Use this when you need complete visibility into test execution.
Output example:
GitHub Actions reporter
Outputs error messages using GitHub Actions workflow commands when tests fail, enabling rich error annotations in your CI.
Auto-enablement: Automatically enabled in GitHub Actions environments.
When tests fail, the GitHub Actions reporter outputs information in a format similar to:
These outputs are parsed by GitHub Actions and generate comments at the corresponding locations.

Auto-enablement
When no reporter is manually set, Rstest automatically enables this reporter when it detects a GitHub Actions environment (process.env.GITHUB_ACTIONS is 'true').
Manual enablement
You can also manually enable this reporter:
JUnit reporter
Generates test reports in JUnit XML format, perfect for CI/CD integration and test result aggregation.
Configuration options:
outputPath: Output file path (defaults to console output)
The JUnit reporter generates XML format as follows:
The JUnit reporter maps test case execution status to JUnit test status:
pass: Test passedfail: Test failed, generates<failure>tagskip: Test skipped, generates<skipped>tagtodo: Test todo, generates<skipped>tag
Markdown reporter
The markdown reporter outputs a single markdown document to stdout, designed for agent / LLM consumption.
In agent environments, Rstest defaults to md only when you didn't explicitly configure reporters.
The default preset is normal, which is tuned for agent workflows:
- Each failure includes a repro command (
file+name) so an agent can rerun a single failing case. - Stack output defaults to
top(a stable anchor frame) instead of full stack frames. - Console output is enabled by default, but limited to keep the report size under control.
- When the number of failures exceeds
failures.max, the reporter prints a full failure list with minimal fields (repro / type / message / expected / actual), and only expands full details for the firstfailures.maxfailures.
You can further tune the output via reporter options:
Custom reporters
For advanced integration needs, you can create custom reporters by implementing the Reporter interface.
More details can be found in the Reporter API reference.