모듈 기본 모듈

모듈 테스트

테스트 스위트를 정의하고 관리하는 테스트 스위트 모듈

지침:

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

테스트 모듈을 확인하고 테스트 값이 false이면 오류가 보고되고 오류 동작이 계속 실행되거나 오류가 발생하도록 설정할 수 있습니다.

1
assert test.assert;

정적 함수

describe

테스트 모듈 정의, 중첩 정의 가능

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

호출 매개변수:

  • name: 문자열, 모듈 이름을 정의합니다.
  • block: 함수, 모듈 초기화 코드

xdescribe

테스트를 일시 중단하는 모듈의 정의,test.setup 그런 다음 describe.skip을 사용하여 호출할 수 있습니다.

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

호출 매개변수:

  • name: 문자열, 모듈 이름을 정의합니다.
  • block: 함수, 모듈 초기화 코드

odescribe

독립적인 테스트를 위한 모듈 정의,test.setup describe.only를 사용하여 나중에 호출할 수 있습니다.

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

호출 매개변수:

  • name: 문자열, 모듈 이름을 정의합니다.
  • block: 함수, 모듈 초기화 코드

it

테스트 프로젝트 정의

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

호출 매개변수:

  • name: 문자열, 프로젝트 이름을 정의합니다.
  • block: 기능, 테스트 내용

xit

테스트를 중단하는 프로젝트의 정의,test.setup 나중에 it.skip을 사용하여 호출할 수 있습니다.

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

호출 매개변수:

  • name: 문자열, 프로젝트 이름을 정의합니다.
  • block: 기능, 테스트 내용

oit

독립적인 테스트를 위한 프로젝트 정의,test.setup 나중에 그것을 사용하여 호출할 수 있습니다.

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

호출 매개변수:

  • name: 문자열, 프로젝트 이름을 정의합니다.
  • block: 기능, 테스트 내용

before

현재 테스트 모듈 진입 이벤트 정의

1
static test.before(Function func);

호출 매개변수:

  • func: 기능, 이벤트 기능

after

현재 테스트 모듈의 종료 이벤트 정의

1
static test.after(Function func);

호출 매개변수:

  • func: 기능, 이벤트 기능

beforeEach

현재 테스트 모듈의 테스트 항목 입력 이벤트 정의

1
static test.beforeEach(Function func);

호출 매개변수:

  • func: 기능, 이벤트 기능

afterEach

현재 테스트 모듈 테스트 프로젝트의 종료 이벤트 정의

1
static test.afterEach(Function func);

호출 매개변수:

  • func: 기능, 이벤트 기능

run

정의된 테스트 모듈 실행 시작

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

호출 매개변수:

  • loglevel: 정수, 테스트 중 로그 출력 레벨을 지정 ERROR일 경우 보고서 이후에 프로젝트 오류 정보 표시 ERROR미만일 경우 출력 정보 항시 출력 ERROR이상일 경우 출력 보고서만 표시됩니다.

반환 결과:

  • Integer, 테스트 케이스의 통계 결과를 반환하고 맞으면 0을 반환하고 틀리면 오류 수를 반환합니다.

setup

현재 스크립트의 테스트 환경 초기화, 테스트 모듈 메소드를 현재 스크립트의 전역 변수에 복사

1
static test.setup();

정적 속성

slow

정수, 느린 테스트 경고 임계값 설정 및 쿼리, ms 단위, 기본값은 75입니다.

1
static Integer test.slow;