node-test-runner-utils
TypeScript icon, indicating that this package has built-in type declarations

1.0.11 • Public • Published

node-test-runner-utils

The node-test-runner-utils library has been developed with the purpose of facilitating the migration of projects based on Jest to the native test runner node:test of Node.js.

Features

  • Provides utilities that allow you to maintain the same testing syntax used with Jest.
  • Facilitates the migration of projects to the native test runner of Node.js without the need to completely rewrite existing tests.

Installation

To install node-test-runner-utils, make sure you have Node.js installed in your development environment. Then, run the following command:

npm install node-test-runner-utils --save-dev

Usage

Once the library is installed, you can import the necessary utilities into your test files and use them in a similar way as you would with Jest. Here's an example:

First, create a configuration file for the native test runner of Node.js. For example, you can create a file named node-test-runner.config.js in the root directory of your project with the following content:

import { runTests } from 'node-test-runner-utils';

runTests({ // Set the configuration options. Source: https://nodejs.org/api/test.html#runoptions
    testPath: 'tests/**/*.test.ts', // Path to the test files
    concurrency: true,
    reporter: 'spec', // Reporter to use (tap|spec|dot). Source: https://nodejs.org/api/test.html#test-reporters
});

This way, you can use the node:test module in the same way as you would with Jest. For example, you can add the following script to the package.json file:

{
    "scripts": {
        "test:vanilla": "node node-test-runner.config.js", // Example to tun the tests if you project is based on vanilla JavaScript
        "test:ts": "node --require @swc/register node-test-runner.config.js" // example to run the tests if you project is based on TypeScript
    }
}

Then, you can create a test file named basic-node-test-runner.test.ts in the tests directory with the following content:

import { describe, expect, it } from 'node-test-runner-utils';

describe('BasicNodeTestRunner', () => {
    it('should run a test', () => {
        expect(true).toBe(true);
    });

    it.each([
        { name: 'John', hasCar: true },
        { name: 'Mary', hasCar: true },
        { name: 'Bob', hasCar: true },
    ])('Should check if $name has a car', ({ hasCar }) => {
        expect(hasCar).toBeTruthy();
    });
});

This way, you can maintain the same syntax used with Jest and perform the migration more comfortably.

Project Status

The node-test-runner-utils project is actively under development. The current version is 1.0.0.

Package Sidebar

Install

npm i node-test-runner-utils

Weekly Downloads

1

Version

1.0.11

License

ISC

Unpacked Size

97 kB

Total Files

30

Last publish

Collaborators

  • arnold01