模块 test

测试套件模块,用以定义管理测试套件

使用方法 :

var test = require('test');
test.setup();

describe('test', () => {
    before(() => {
        // setup before the whole test
    });

    beforeEach(() => {
        // setup before each test
    });

    after(() => {
        // cleanup after the whole test
    });

    afterEach(() => {
        // cleanup after each test
    });

    it('case', () => {
        assert.ok(true);
    });

    // ignored test case
    xit('case', () => {
        assert.ok(true);
    });

    // ignored test case
    it.skip('case', () => {
        assert.ok(true);
    });

    // only test case
    oit('case', () => {
        assert.ok(true);
    });

    // only test case
    it.only('case', () => {
        assert.ok(true);
    });
});

// async function test
describe('test async', () => {
    it('pass case', async() => {
        assert.ok(true);
    });

    it('error case', async() => {
        throw new Error('some thing wrong!');
    });
});

// callback function test
// cannot use callback mode in jsc
describe('test callback', () => {
    it('pass case', done => {
        setTimeout(() => {
            assert.ok(true);
            done();
        }, 0);
    });

    it('error case', done => {
        setTimeout(() => {
            done(new Error('some thing wrong!'));
        }, 0);
    });
});

process.exit(-test.run(console.DEBUG));

对象

assert

断言测试模块,如果测试值为假,则报错,报错行为可设定继续运行或者错误抛出

assert test.assert;

静态函数

describe

定义一个测试模块,可嵌套定义

static test.describe(String name,
    Function block);

调用参数:


xdescribe

暂停测试的模块定义,test.setup 后可使用 describe.skip 调用

static test.xdescribe(String name,
    Function block);

调用参数:


odescribe

独立测试的模块定义,test.setup 后可使用 describe.only 调用

static test.odescribe(String name,
    Function block);

调用参数:


it

定义一个测试项目

static test.it(String name,
    Function block);

调用参数:


xit

暂停测试的项目定义,test.setup 后可使用 it.skip 调用

static test.xit(String name,
    Function block);

调用参数:


oit

独立测试的项目定义,test.setup 后可使用 it.only 调用

static test.oit(String name,
    Function block);

调用参数:


before

定义当前测试模块进入事件

static test.before(Function func);

调用参数:


after

定义当前测试模块退出事件

static test.after(Function func);

调用参数:


beforeEach

定义当前测试模块测试项目进入事件

static test.beforeEach(Function func);

调用参数:


afterEach

定义当前测试模块测试项目退出事件

static test.afterEach(Function func);

调用参数:


run

开始执行定义的测试模块

static Integer test.run(Integer loglevel = console.ERROR);

调用参数:

返回结果:


setup

初始化当前脚本的测试环境,将 test 模块方法复制为当前脚本全局变量

static test.setup();

静态属性

slow

Integer, 设置和查询慢速测试警告阀值,以 ms 为单位,缺省为 75

static Integer test.slow;