1.1.1 • Published 8 years ago

tape-testcheck v1.1.1

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

Tape Testcheck

Build Status

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 options

A 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 generators
  • propertyFn: The testcheck property function to run
  • options: Testcheck options
  • msg: 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.

1.1.1

8 years ago

0.1.1

9 years ago

0.1.0

9 years ago