Module 基礎模塊

模塊test

測試套件模塊,用以定義管理測試套件

使用方法:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
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); }); it('check in done', done => { setTimeout(() => { done(() => { assert.ok(true); }); }, 0); }); }); process.exit(-test.run(console.DEBUG));

對象

assert

斷言測試模塊,如果測試值為假,則報錯,報錯行為可設定繼續運行或者錯誤拋出

1
assert test.assert;

靜態函數

describe

定義一個測試模塊,可嵌套定義

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

調用參數:

  • name: String, 定義模塊名稱
  • block: Function, 模塊初始化代碼

xdescribe

暫停測試的模塊定義,test.setup 後可使用describe.skip 調用

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

調用參數:

  • name: String, 定義模塊名稱
  • block: Function, 模塊初始化代碼

odescribe

獨立測試的模塊定義,test.setup 後可使用describe.only 調用

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

調用參數:

  • name: String, 定義模塊名稱
  • block: Function, 模塊初始化代碼

it

定義一個測試項目

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

調用參數:

  • name: String, 定義項目名稱
  • block: Function, 測試內容

xit

暫停測試的項目定義,test.setup 後可使用it.skip 調用

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

調用參數:

  • name: String, 定義項目名稱
  • block: Function, 測試內容

oit

獨立測試的項目定義,test.setup 後可使用it.only 調用

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

調用參數:

  • name: String, 定義項目名稱
  • block: Function, 測試內容

before

定義當前測試模塊進入事件

1
static test.before(Function func);

調用參數:

  • func: Function, 事件函數

after

定義當前測試模塊退出事件

1
static test.after(Function func);

調用參數:

  • func: Function, 事件函數

beforeEach

定義當前測試模塊測試項目進入事件

1
static test.beforeEach(Function func);

調用參數:

  • func: Function, 事件函數

afterEach

定義當前測試模塊測試項目退出事件

1
static test.afterEach(Function func);

調用參數:

  • func: Function, 事件函數

run

開始執行定義的測試模塊

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

調用參數:

  • loglevel: Integer, 指定進行測試時的日誌輸出級別,ERROR 時,項目報錯信息集中在報告後顯示,低於ERROR 時,輸出信息隨時顯示,高於ERROR 時,只顯示報告

返回結果:

  • Integer, 返回測試用例統計結果,正確則返回0,錯誤則返回錯誤個數

setup

初始化當前腳本的測試環境,將test 模塊方法複製為當前腳本全局變量

1
static test.setup();

靜態屬性

slow

Integer, 設置和查詢慢速測試警告閥值,以ms 為單位,缺省為75

1
static Integer test.slow;