Détail du package

@nomicfoundation/hardhat-node-test-reporter

NomicFoundation6.2kMIT3.0.1

A node:test reporter

ethereum, smart-contracts, hardhat

readme

Hardhat's node:test reporter

⚠️ This package is an internal Hardhat component and it's not meant to be used directly.

This package includes Hardhat 3's node:test reporter used by the hardhat-node-test-runner plugin.

Reporter style

This reporter mimics the Mocha's default Spec reporter, as close as possible.

It is designed to output information about the test runs as soon as possible and in test definition order.

Once the test run ends, it will output global information about it, based on the diagnostics emitted by node:test, and any custom or unrecognized diagnostics message.

Finally, it will output the failure reasons for all the failed tests.

It introduces a number of custom features to make it more suitable for use with Hardhat.

Demo

Stand-alone installation

hardhat-node-test-reporter comes built-in with Hardhat's node:test plugin. You don't need to install it separately. The reporter will be used automatically.

If you want to use the reporter in your own project, you can install it with npm (optionally, with a --save-dev flag):

npm install --save-dev @nomicfoundation/hardhat-node-test-reporter

Usage

If you want to use the reporter directly with node, you can do so by passing the --test-reporter flag:

node --test --test-reporter=@nomicfoundation/hardhat-node-test-reporter

Custom features

Slow Tests

Slow threshold is configured to 75ms. If a test case takes longer than that, it will be highlighted in red.

Test Coverage

Test coverage is currently not supported by this reporter.

GitHub Actions

This reporter is designed to work well with GitHub Actions. By default, it will create error annotations for failed tests. You can disable this feature by setting the NO_GITHUB_ACTIONS_ANNOTATIONS environment variable to true.

Colour Output

This reporter will colour the output by default in terminals that support it. You can forcefully disable this feature by setting the FORCE_COLOR environment variable to 0 (or passing a --no-color flag). Similarly, you can forcefully enable this feature by setting the FORCE_COLOR environment variable to 1 (or passing a --color flag).

The behaviour is inherited from the chalk package.

Colour Legend

Output Type Colour
Cancelled Gray
Error Red
Failure Red
Skipped Cyan
Success Green (tick)
TODO Blue

Nesting

This reporter will indicate nesting of test suites by indenting the output at 2-space wide intervals.

Error Formatting

This reporter will format errors in a human readable way.

It will:

  • try to print the error object together with its stack trace;
  • try to print the diff of the expected and actual values of the error object, if they are available;
  • print internal errors of aggregated errors;
  • truncate error cause stack traces after 3 levels;
  • hide node internals (including test runner internals) from the stack trace;
  • replace file URLs with relative paths (this should work on Windows, too).

Diagnostics

This reporter will aggregate and output diagnostics emitted by node:test at the end of the test run. If it doesn't recognize a diagnostic message, it will output them as-is after the well-known diagnostics.

Well-known diagnostics are:

  • tests
  • suites
  • pass
  • fail
  • cancelled
  • skipped
  • todo
  • duration_ms

changelog

@nomicfoundation/hardhat-node-test-reporter

3.0.1

Patch Changes

  • ef714f7: Fix test error cause chains being cut off. The default is now 10 causes (up from 3). In CI environments, it's 100.

3.0.0

Major Changes

  • 29cc141: First release of Hardhat 3!