zora-reporters

a set of reporter for zora testing library

MIT 14 个版本
安装
npm install zora-reporters
yarn add zora-reporters
pnpm add zora-reporters
bun add zora-reporters
README

zora-reporters

A set of reporters to programmatically (or via a CLI) consume a stream made of the zora testing protocol.

installation

npm i zora-reporters

zora testing protocol messages

A zora test harness is actually a stream of messages defined by the following interfaces

interface IMessage<T> {
  type: string;
  data: T;
}

interface INewTestMessage extends IMessage<INewTestMessageInput> {
  type: 'TEST_START';
}

interface IAssertionMessage extends IMessage<IAssertionResult<unknown>> {
  type: 'ASSERTION';
}

interface ITestEndMessage extends IMessage<ITestEndMessageInput> {
  type: 'TEST_END';
}

usage

programmatically

create the reporter with a factory which you can then pass to the report function of any test harness (or to the report function of the default test harness)

import {hold, report, test} from 'zora';
import {createDiffReporter} from 'zora-reporters';

hold(); // prevent the default test harness to start its reporting

test(`some test`, (t) => {
    t.ok(true)
});

// create your custom reporter
const reporter = createDiffReporter();

// start reporting
report({reporter});

CLI

Zora testing program will output by default a TAP report, but you can configure it to output the zora testing protocol instead (thanks to the ZORA_REPORTER=json en variable for example).

You can then pipe this output into the zora reporter command line interface:

ZORA_REPORTER=json node path/to/testing/program.js | zr

Options

Synopsis
    Transforms a zora testing protocol message stream into a specific reporting format

Usage
    zr

  Options
    --reporter, -R          One of "tap", "diff"(default).

  Examples
    zr -R tap < some/file.txt
    ZORA_REPORTER=json node zora/program.js | zr -R diff

reporters

TAP (Test Anything Protocol)

tap output example

Diff

The default reporter

default output example

版本列表
3.0.1 2026-07-12
2.0.0 2024-06-20
1.4.0 2022-09-04
1.3.2 2021-12-10
1.3.1 2021-11-18
1.3.0 2021-10-13
1.2.1 2021-10-10
1.2.0 2021-10-10
1.1.0 2021-09-23
1.0.1 2021-09-17
1.0.0-alpha.3 2021-07-25
1.0.0-alpha.2 2021-07-10
1.0.0-alpha.1 2021-07-10
1.0.0 2021-07-25