Create parameterised tests from Markdown(ish) tables
npm install @phenomnomnominal/parameterised


A little tool to create parameterised tests from Markdown(ish) tables!
``zsh`
npm install @phenomnomnominal/parameterised --save-dev
When writing unit tests, sometimes it is useful to do something like the following:
`javascript`
[
{ a: 1, b: 2, expected: 3 },
{ a: -1, b: 1, expected: 0 },
{ a: 2.5, b: 2.5, expected: 5 }
].forEach(test => {
const { a, b, expected } = test;
assert(a + b === expected);
});
That works well, but wouldn't it be nice to be able to format that in a slightly more readable way? Enter parameterised!
`javascript
import { parameterised } from '@phenomnomnominal/parameterised';
parameterised
| a | b | expected |
| 1 | 2 | 3 |
| -1 | 1 | 0 |
| 2.5 | 2.5 | 5 |
.forEach(test => {`
const { a, b, expected } = test;
assert(a + b === expected);
});
parameterised can handle a bunch of different values:
`javascript
parameterised
| param1 | param2 | param3 |
| 1 | 2 | 3 |
| "hello" | a string | "" |
| {"foo":"bar"} | undefined | NaN |
| ${{ baz: 'qux' }} | Infinity | [0,1,2] |
| ${new Date()} | ${'string'} | 2e2 |
| null | 0.00000001 | ${9**9} |
;``