1.1.1 • Published 10 years ago
tape-testcheck v1.1.1
Tape Testcheck
A Tape extension to use Testcheck with Tape.
Usage
To have access to the t.check method, you need to extend tape with the exported
check function.
import tape from 'tape';
import addAssertions from 'extend-tape';
import check from 'tape-testcheck';
// Add the `check` assertion
const test = addAssertions(tape, { check });
// Now you can test away
test('Something', t => {
t.check(...);
});For convenience, the gen and sample methods are re-exported for usage with
your checks:
import tape from 'tape';
import addAssertions from 'extend-tape';
import check, { gen, sample } from 'tape-testcheck';A basic test
import tape from 'tape';
import addAssertions from 'extend-tape';
import check, { gen, sample } from 'tape-testcheck';
const test = addAssertions(tape, { check });
test('Something', t => {
t.check(
[gen.int],
num => typeof num === 'number',
'it works!'
);
});# Outputs:
$ ok 1 it works!With Options
import tape from 'tape';
import addAssertions from 'extend-tape';
import check, { gen, sample } from 'tape-testcheck';
const test = addAssertions(tape, { check });
test('Something', t => {
// with options
t.check(
[gen.int],
num => typeof num === 'number',
{ times: 10 },
'works with options'
);
});# outputs
$ ok 1 works with optionsA failing test
import tape from 'tape';
import addAssertions from 'extend-tape';
import check, { gen, sample } from 'tape-testcheck';
const test = addAssertions(tape, { check });
test('Something', t => {
t.check(
[gen.int],
num => typeof num === 'string',
'it fails!'
);
});# Outputs:
$ not ok 1 it fails!
---
operator: fail
expected: |-
{ result: true }
actual: |-
{ fail: [ 0 ], 'failing-size': 0, 'num-tests': 1, result: false, shrunk: { depth: 0, result: false, smallest: [ 0 ], 'total-nodes-visited': 0 } }
at: ...API
t.check(generators, propertyFn, options, msg)
generators: An array of testcheck generatorspropertyFn: The testcheck property function to runoptions: Testcheck optionsmsg: The message to use in the test (same as any other Tape message, e.g.t.ok(value, msg)
Run a testcheck property on propertyFn with the provided generators and
options. The msg will be passed to the t.pass and t.fail methods.