모듈 기본 모듈

모듈 테스트

테스트 모듈은 테스트 프레임워크로, 어설션 모듈과 결합하여 assert다양한 테스트 케이스를 쉽게 작성할 수 있습니다.

fibjs모듈을 도입 하려면 test첫 번째 작업이 필요한 경우가 많습니다 test setup.

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

테스트 사례를 작성하기 전에 일반적으로 테스트 콘텐츠를 설명하는 테스트 모듈을 정의해야 합니다.

  • 설명하다

explain은 테스트 스위트의 개념과 유사한 모든 테스트 그룹에 대한 컨테이너이며 it특정 카테고리 아래에 테스트를 고정하는 데 사용됩니다. explain은 여러 it 사용 사례 또는 중첩된 explain으로 표시되는 기타 하위 카테고리를 포함할 수 있습니다.

1
describe(String name, Function block)

호출 매개변수: 이름: 문자열, 모듈 이름 정의 블록: 함수, 모듈 초기화 코드

  • 그것

단일 테스트 사례를 나타내며, 각 설명은 테스트 결과의 신뢰성을 보장하기 위해 단일 상황만 테스트해야 합니다.

1
it(String name, Function block)

호출 매개변수: 이름: 문자열, 프로젝트 이름 정의 블록: 함수, 테스트 내용

  • 종료(&it).건너뛰기

건너뛴 테스트 사례를 나타냅니다.

1
xit(String name, Function block)

호출 매개변수: 이름: 문자열, 프로젝트 이름 정의 블록: 함수, 테스트 내용

  • 오잇앤잇.온리

현재 테스트 케이스만 실행하고 다른 테스트 케이스는 무시하므로 현재 테스트 케이스만 별도로 디버깅할 수 있어 매우 실용적입니다.

1 2
oit(String name, Function block) it.only(String name, Function block)

호출 매개변수: 이름: 문자열, 프로젝트 이름 정의 블록: 함수, 테스트 내용

  • 할 것

테스트 케이스 계획을 더욱 개선해야 함을 나타냅니다.

1
todo(String name, Function block)

호출 매개변수: 이름: 문자열, 프로젝트 이름 정의 블록: 함수, 테스트 내용

테스트 케이스를 작성할 때 다음을 사용하는 것이 일반적입니다.assert어설션 모듈은 함수의 반환을 확인합니다. 사용 방법:

1
assert(condition, String message);

그 중 첫 번째 매개변수는 어설션해야 하는 조건이고, 두 번째 매개변수는 오류 메시지입니다.

물체

assert

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

1
assert test.assert;

정적 함수

describe

중첩될 수 있는 테스트 모듈 정의

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

호출 매개변수:

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

xdescribe

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

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

호출 매개변수:

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

odescribe

독립적인 테스트를 위한 모듈 정의,test.setup그런 다음 explain.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: 기능, 테스트 내용

todo

계획 프로젝트 정의,test.setup그런 다음 it.todo를 사용하여 전화할 수 있습니다.

1 2
static test.todo(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: 기능, 이벤트 기능

mustCall

함수가 지정된 횟수만큼 호출되어야 하는지 테스트

1
static Function test.mustCall(Function func);

호출 매개변수:

  • func: 기능, 테스트 중인 기능

결과 반환:

  • Function, 래핑된 함수를 반환합니다.

mustNotCall

함수를 호출하면 안 되는지 테스트

1
static Function test.mustNotCall(Function func);

호출 매개변수:

  • func: 기능, 테스트 중인 기능

결과 반환:

  • Function, 래핑된 함수를 반환합니다.

함수를 호출하면 안 되는지 테스트

1
static Function test.mustNotCall();

결과 반환:

  • Function, 래핑된 함수를 반환합니다.

run

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

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

호출 매개변수:

  • mode: Integer, 테스트 모드를 지정 ERROR일 경우 프로젝트 에러 정보를 집중하여 Report 이후에 표시 ERROR보다 낮을 경우 언제든지 출력 정보를 표시 ERROR보다 높을 경우 Report만 표시 표시됩니다.

결과 반환:

  • Object, 테스트 결과 반환

테스트 실행이 완료되면 테스트 결과가 다음 형식으로 반환됩니다.

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
{ "total": 2, // number of total test cases "pass": 2, // number of passed test cases "fail": 0, // number of failed test cases "skip": 0, // number of skipped test cases "todo": 0, // number of todo test cases "time": 0.000000, // time elapsed in seconds "cases": [ // details of test cases { "name": "test", // name of test case "time": 0.000000, // time elapsed in seconds "result": true, // result of test case "error": null // message of error if test case failed }, { "name": "sub cases", // name of sub test case "total": 1, // number of total test cases "pass": 1, // number of passed test cases "fail": 0, // number of failed test cases "skip": 0, // number of skipped test cases "todo": 0, // number of todo test cases "time": 0.000000, // time elapsed in seconds "cases": [ // details of test cases { "name": "test", // name of test case "time": 0.000000, // time elapsed in seconds "result": true, // result of test case "error": null // message of error if test case failed } ] } ] }

setup

현재 스크립트의 테스트 환경을 초기화하고 테스트 모듈 메소드를 현재 스크립트의 전역 변수로 복사합니다.

1
static test.setup();

정적 속성

slow

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

1
static Integer test.slow;