@natlibfi/fixugen v2.0.10
Generate Node.js unit tests from fixtures and callbacks
Mocha is used a unit testing framework. Invoke fixugen in a .spec file with Mocha environment injected as usual.
Provides test callbacks with Fixura's functions to fetch test fixtures.
Usage
The test fixture directory is parsed as follows: Each subdirectory becomes a unit test group (Mocha's describe) and inner subdirectories each represent individual tests (Mocha's it).
import generateTests from '@natlibfi/fixugen';
generateTests({
  path: [__dirname, '..', 'test-fixtures'],
  callback: ({getFixture}) => {
    const expectedValue = getFixture('value.txt');
    const value = generateSomething();
    expect(value).to.equal(expectedValue);
  }
});Options
- callback: A callback function passed to Mocha's it. Receives Fixura's function as arguments.- dirName: callback gets dirName variable that is one folder up
 
- path: An array of path components which make up a path to the test fixtures directory
- recurse: Whether to recurse into the subdirectories of path. If falsethe last directory of the path is used as the name of the Mocha's describe-call and it's direct subdirectories are used as unit test directories. Defaults to true
- fixura: Options that are passed to Fixura.
- useMetadataFile: If set to true, reads and parses a file named metadata.jsonin each unit test directory. The content must be a JSON object and it's properties as passed to the unit test callback function.- If a property descriptionis present, it is used as the test's description (Defaults to false and folder name is used).
- If a property skipis present, it decides if test is skipped (Defaults to false).
- If a property onlyis present, it decides if this/these tests are only run (Defaults to false).
 
- If a property 
- mocha: An object which maps the following properties to Mocha's corresponding callbacks: after, before, afterEach, beforeEach
Example metadata.json
{
  "description": "Example description of test",
  "skip": false,
  "only": false
}License and copyright
Copyright (c) 2020, 2023-2024 University Of Helsinki (The National Library Of Finland)
This project's source code is licensed under the terms of MIT or any later version.
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago