isolated

isolated provides one-time folders for unit tests.

Usage no npm install needed!

<script type="module">
  import isolated from 'https://cdn.skypack.dev/isolated';
</script>

README

isolated

isolated provides one-time folders for unit tests.

Status

Category Status
Version npm
Dependencies David
Dev dependencies David
Build GitHub Actions
License GitHub

Installation

$ npm install isolated

Quick Start

Using isolated is easy. All you need to do is to add a reference to it within your Node.js application:

const { isolated } = require('isolated');

If you use TypeScript, use the following code instead:

import { isolated } from 'isolated';

Then you can use it within your tests. In its simplest form, isolated provides a one-time folder for your test and guarantees to clean up later.

test('...', async () => {
  const directory = await isolated();
});

Additionally, you may want to specify a file or a directory that isolated shall copy to the one-time directory before running your test.

test('...', async () => {
  const directory = await isolated({
    files: 'foo.txt'
  });
});

If you need to copy multiple files or directories, specify an array instead of a single item.

test('...', async () => {
  const directory = await isolated({
    files: [ 'foo.txt', 'bar.txt' ]
  });
});

Sometimes you may want isolate to preserve the sources' timestamps. For that additionally provide the preserveTimestamps option and set it to true.

test('...', async () => {
  const directory = await isolated({
    files: [ 'foo.txt', 'bar.txt' ],
    preserveTimestamps: true
  });
});

Running quality assurance

To run quality assurance for this module use roboter:

$ npx roboter