close
  • English
  • reporters

    • Type:
    type Reporter = ReporterName | [ReporterName, ReporterOptions];
    type Reporters = Reporter | Reporter[];
    process.env.GITHUB_ACTIONS === 'true'
      ? ['default', 'github-actions']
      : ['default'];
    • CLI: --reporters=<name> --reporters=<name1> (--reporter is also accepted as an alias)

    Configure which reporters to use for test result output.

    Built-in reporter names include default, dot, verbose, md, github-actions, junit, json, and blob.

    AI agent environments

    If you haven't explicitly configured any reporters (no reporters in config and no --reporters flags), Rstest defaults to ['md'] and outputs AI agent-friendly markdown to stdout.

    Usage

    Basic example

    You can specify reporters in the rstest.config.ts file or via the CLI.

    CLI
    rstest.config.ts
    npx rstest --reporters=default

    Multiple reporters

    You can use multiple reporters to output test results in different formats simultaneously. This is useful when you want both console output and a file report for CI/CD pipelines.

    rstest.config.ts
    import { defineConfig } from '@rstest/core';
    
    export default defineConfig({
      reporters: ['default', 'junit'],
    });

    Configuring reporters with options

    Many reporters support configuration options. Pass them as a tuple [reporterName, options]:

    rstest.config.ts
    import { defineConfig } from '@rstest/core';
    
    export default defineConfig({
      reporters: [
        ['default', { verbose: true }],
        ['github-actions', { verbose: true }],
        ['junit', { outputPath: './test-results.xml' }],
      ],
    });

    Using custom reporters

    You can create and use custom reporters by providing a reporter class or object that implements the reporter interface:

    rstest.config.ts
    import { defineConfig } from '@rstest/core';
    import { CustomReporter } from './custom-reporter';
    
    export default defineConfig({
      reporters: [CustomReporter],
    });