단일 Jest 테스트를 실행하기위한 전체 명령
명령:
node <path-to-jest> -i <you-test-file> -c <jest-config> -t "<test-block-name>"
<path-to-jest>
:
- 윈도우 :
node_modules\jest\bin\jest.js
- 기타 :
node_modules/.bin/jest
-i <you-test-file>
: 테스트가있는 파일의 경로 ( js
또는 ts
)
-c <jest-config>
: 별도의 Jest 구성 파일 (JSON) 경로, Jest 구성을 유지 package.json
하는 경우이 매개 변수를 지정할 필요가 없습니다 (Jest는 사용자의 도움없이 찾을 수 있음)
-t <the-name-of-test-block>
: 실제로는의 이름 (제 파라미터)이다 describe(...)
, it(...)
또는 test(...)
블록.
예:
describe("math tests", () => {
it("1 + 1 = 2", () => {
expect(1 + 1).toBe(2);
});
it("-1 * -1 !== -1", () => {
expect(-1 * -1).not.toBe(-1);
});
});
따라서 명령
node node_modules/jest/bin/jest.js -i test/math-tests.js -c test/tests-config.json -t "1 + 1 = 2"
테스트 it("1 + 1 = 2", ...)
하지만 -t
매개 변수를 "math tests"
로 변경 하면 describe("math tests",...)
블록 에서 두 테스트를 모두 실행합니다 .
비고 :
- Windows의 교체
node_modules/.bin/jest
와 함께 node_modules\jest\bin\jest.js
.
- 이 방법을 사용하면 실행중인 스크립트를 디버깅 할 수 있습니다. 디버깅 을 활성화하려면
'--inspect-brk'
명령 에 매개 변수를 추가하십시오 .
'package.json'에서 NPM 스크립트를 통해 단일 Jest 테스트 실행
Jest를 설치하면 NPM 스크립트 를 사용하여이 명령의 구문을 단순화 할 수 있습니다 . 에서 것은 "package.json"
받는 새로운 스크립트를 추가 "scripts"
섹션 :
"scripts": {
"test:math": "jest -i test/my-tests.js -t \"math tests\"",
}
이 경우 'jest'
전체 경로를 작성하는 대신 별칭을 사용합니다. 또한 구성 파일 경로도 지정할 수 없으므로 "package.json"
Jest는 기본적으로 경로를 조사합니다. 이제 다음 명령을 실행할 수 있습니다.
npm run test:math
상기 "math tests"
두 실험과 블록이 실행된다. 또는 하나의 특정 테스트를 이름으로 지정할 수도 있습니다.
또 다른 옵션은 스크립트 <the-name-of-test-block>
외부에서 매개 변수 를 가져 "test:math"
와서 NPM 명령에서 전달하는 것입니다.
package.json :
"scripts": {
"test:math": "jest -i test/my-tests.js -t",
}
명령:
npm run test:math "math tests"
이제 훨씬 짧은 명령으로 테스트 실행 이름을 관리 할 수 있습니다.
비고 :
- 이
'jest'
명령은 NPM 스크립트와 함께 작동하므로
npm 은 라이프 사이클 스크립트를 실행할 때 환경 변수 "./node_modules/.bin"
의 첫 번째 항목을 PATH
작성하므로 프로그램이 전체적으로 설치되지 않은 경우에도 정상적으로 작동합니다 ( NPM 블로그 )
- 이 방법은 농담이를 통해 실행되기 때문에 디버깅을 허용하지 않는 것 진 / CLI 하지 통해
node
.
Visual Studio Code에서 선택된 Jest 테스트 실행
Visual Studio Code를 사용하는 경우이를 사용하여 F5
버튼 을 눌러 현재 선택된 테스트 (코드 편집기에서)를 실행할 수 있습니다 . 이를 위해 파일 에 새로운 시작 구성 블록 을 만들어야 ".vscode/launch.json"
합니다. 이 구성에서 우리는 실행할 때 적절한 (불행히도 항상 그런 것은 아님 ) 값 으로 대체되는 사전 정의 된 변수 를 사용 합니다. 사용 가능한 모든 것 중에서 우리는 다음에 만 관심이 있습니다.
${relativeFile}
-현재 열린 파일
${workspaceFolder}
${selectedText}
-활성 파일에서 현재 선택된 텍스트
그러나 launch config를 작성하기 전에 'test'
스크립트를 추가해야합니다 'package.json'
(아직없는 경우).
package.json :
"scripts": {
"test": "jest"
}
시작 설정에서 사용할 수 있습니다.
구성 시작 :
{
"type": "node",
"request": "launch",
"name": "Run selected Jest test",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"test"
],
"args": [
"--",
"-i",
"${relativeFile}",
"-t",
"${selectedText}"
],
"console": "integratedTerminal",
}
실제로이 답변의 앞에서 설명한 명령과 동일합니다. 이제 모든 것이 준비되었으므로 명령 매개 변수를 수동으로 다시 작성하지 않고도 원하는 테스트를 실행할 수 있습니다.
여기 당신이해야 할 모든 것이 있습니다 :
- 디버그 패널에서 현재 작성된 실행 구성을 선택하십시오.
- 코드 편집기에서 테스트와 함께 파일을 열고 테스트하려는 테스트 이름을 따옴표없이 선택하십시오.
- 보도
'F5'
버튼을 누릅니다.
그리고 짜잔!
이제 편집기에서 열고 싶은 테스트를 실행하려면 이름을 선택하고 F5를 누르십시오.
불행히도 Windows 시스템에서는 슬래시가 반전 된${relativeFile}
경로로 변수를 대체하고 이유를 알기 때문에 Jvo는 "voila" 가 아닙니다 .Jest는 그러한 경로를 이해하지 못합니다.
비고 :
- 디버거에서 실행하려면
'--inspect-brk'
매개 변수 를 추가하는 것을 잊지 마십시오 .
- 이 구성 예에서는에 포함되어 있다고 가정 한 Jest 구성 매개 변수가 없습니다
'package.json'
.