cv3-test

0.0.17-a • Public • Published

avatar

cv3-test

Simple testing for ES6.

cv3-test Version Badge Downloads Badge github github Size badge Apache-2.0 Licence Badge Travis (.org)

screenshot

Install

$ npm install cv3-test

Usage

Simply extend the cv3-test/Test class. Name your test methods with the prefix test.

import { Test } from 'cv3-test/Test';

export class ExampleTest extends Test
{
    testOneSuccess()
    {
        this.assert(0 === 0, '0 is not equal to 0!');
    }
}

Running Tests

CLI

Install the package globally to use the cvtest command:

$ npm install -g cv3-test

Run the cvtest command in any directory to automatically scan for files ending in ...Test.js (case sensitive). Any files found will be included and the system will look for tests in the class with same name as the file it resides in (minus the .js extension).

$ cvtest

Javascript

Use the static run function on the Test class to execute your tests. Just pass the test classes you want to run as parameters.

import { Test } from 'cv3-test/Test';

import { FooTest } from './FooTest';
import { BarTest } from './BarTest';
import { BazTest } from './BazTest';

Test.run(FooTest, BarTest, BazTest);

Promise-based tests

Test methods can return promises, to allow for testing of async behavior. Assertations can appear inside and outside the promises, and the framework will wait for the promise to complete before moving on.

import { Test } from 'cv3-test/Test';

export class PromiseTest extends Test
{
    testPromise()
    {
        return new Promise((accept, reject)=>{

            this.assert(0 === 0, '0 is not equal to 0!');

            setTimeout(()=>{

                this.assert(0 === 0, '0 is not equal to 0!');

                accept('Accepted!');
            }, 150);

        });
    }
}

License

cv3-test © Sean Morris 2019 - 2020

All code in this package is relased under the Apache 2.0 licence.

Readme

Keywords

none

Package Sidebar

Install

npm i cv3-test

Weekly Downloads

24

Version

0.0.17-a

License

Apache-2.0

Unpacked Size

46.6 kB

Total Files

6

Last publish

Collaborators

  • seanmorris