junit-xml
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.0 • Public • Published

    junit-xml

    JUnit XML report builder with TypeScript support.

    Installation

    npm install junit-xml

    Usage

    import { getJunitXml } from 'junit-xml';
     
    const testSuiteReport = {
      name: 'Some test suite report name',
      time: 4.2,
      suites: [
        {
          name: 'Some suite',
          timestamp: new Date(Date.UTC(1989, 10, 3)),
          hostname: 'some-hostname',
          time: 1.1337,
          testCases: [
            {
              name: 'Successful test',
              assertions: 2,
              classname: 'successful-test-class',
              time: 0.72,
            },
            {
              name: 'Skipped test',
              assertions: 2,
              skipped: true,
            },
            {
              name: 'Unskipped test',
              skipped: false,
            },
            {
              name: 'Failing test',
              failures: [
                { message: 'First failure', type: 'some-type' },
                { message: 'Second failure' },
              ],
            },
            {
              name: 'Another failing test',
              failures: [
                { message: 'Just one failure' },
              ],
            },
            {
              name: 'Erroring test',
              errors: [
                { message: 'First error', type: 'some-type' },
                { message: 'Second error' },
              ],
            },
            {
              name: 'Another erroring test',
              errors: [
                { message: 'Just one error' },
              ],
            },
            {
              name: 'Test with output',
              systemOut: [
                'First output',
                'Second output',
              ],
            },
            {
              name: 'Test with single output',
              systemOut: [
                'Only output',
              ],
            },
            {
              name: 'Test with error output',
              systemErr: [
                'First error output',
                'Second error output',
              ],
            },
            {
              name: 'Test with single error output',
              systemErr: [
                'Only error output',
              ],
            },
          ],
        },
        {
          name: 'Suite without test cases',
          testCases: [],
        },
        {
          name: 'Another suite',
          testCases: [
            { name: 'Some successful test' },
          ],
        },
      ],
    };
     
    const junitXml = getJunitXml(testSuiteReport);

    API

    getJunitXml(testSuiteReport: TestSuiteReport, options?: { schema: 'default' | 'ant-junit' }): string

    Parameter: testSuiteReport

    A Javascript object representation of your test suite report. See the type definitions for available properties.

    Parameter: options

    Optional object configuring the output. Properties:

    schema: 'default' | 'ant-junit'

    Default: 'default'

    The required format of the resulting XML string. By default, this is set to the format expected by GitLab CI/CD. Alternative options:

    Returns

    An XML string in JUnit test report format.

    Changelog

    See CHANGELOG.

    License

    MIT © Vincent Tunru

    Install

    npm i junit-xml

    DownloadsWeekly Downloads

    858

    Version

    1.2.0

    License

    MIT

    Unpacked Size

    49.9 kB

    Total Files

    23

    Last publish

    Collaborators

    • vincenttunru