매우 간단합니다. Jest로 테스트를 하나만 실행하고 싶습니다.
내가 넣어 it.only
또는 describe.only
하지만 여전히 테스트를 훨씬을 실행합니다. 마지막 커밋 이후 모든 테스트를 실행한다고 생각하지만 only
명시 적으로 설정된 플래그로 이러한 동작이 없어야합니다 .
이 동작의 원인은 무엇이며 단일 테스트를 실행하는 방법은 무엇입니까?
매우 간단합니다. Jest로 테스트를 하나만 실행하고 싶습니다.
내가 넣어 it.only
또는 describe.only
하지만 여전히 테스트를 훨씬을 실행합니다. 마지막 커밋 이후 모든 테스트를 실행한다고 생각하지만 only
명시 적으로 설정된 플래그로 이러한 동작이 없어야합니다 .
이 동작의 원인은 무엇이며 단일 테스트를 실행하는 방법은 무엇입니까?
답변:
Jest는 테스트 실행을 병렬화 하고 실행해야하는 테스트와 실행 하지 않아야하는 테스트를 미리 알지 못합니다. 즉 , "fit"을 사용하면 해당 파일에서 하나의 테스트 만 실행되지만 프로젝트의 다른 모든 테스트 파일은 계속 실행됩니다 .
fit
, fdescribe
및 it.only
, describe.only
동일한 목적을 가지고 다른 테스트를 건너 뛰고 나만 실행하십시오.
출처 : https://github.com/facebook/jest/issues/698#issuecomment-177673281
다음 jest
과 같은 테스트를 실행할 때 필터링 메커니즘을 사용하십시오.
jest --config=jest.config.json --watch
testname
또는로 테스트를 필터링 할 수 있습니다 filename
. 터미널의 지침을 따르기 만하면됩니다.
을 누른 p
다음 파일 이름 입력
그럼 당신은 사용할 수 있습니다 describe.only
및 it.only
필터링 테스트 파일에서 다른 모든 테스트를하는 건너 뜁니다.
.only
합니다. 동일한 파일의 테스트에서만 작동합니까?
it.only
이나 it.skip
구문 오류가 하나의 테스트를 위해, 모든 테스트가 실패합니다. 물론 패턴에 의해 제외 된 파일의 코드는 실행되지 않습니다. imgur.com/z9FlQEZ
if.only
시계 패턴에서 해당 구성 요소에 대해 건너 뛰거나 건너 뛰지 않은 테스트가 많은 횟수만큼 Carousel 구성 요소의 console.logs를 사용하더라도 .
it.only
및 describe.only
여러 파일에서 필터 테스트에 문제가있는 경우에만이에있는 모듈에 대한 작업., 당신은 사용할 수 있습니다 jest -t name-of-spec
(설명 또는 테스트에서 이름에 대해 일치) 사양 이름과 일치 테스트를 필터링.
출처 : https://facebook.github.io/jest/docs/en/cli.html
예를 들어, 현재 다음과 같이 작성중인 테스트에 집중합니다 (에서 테스트 스크립트 사용 package.json
).
npm test -- -t "test foo"
describe
블록)에 존재하는 문자열 인수를 전달한다는 것입니다 . 이 경우 집중하려는 정확한 테스트 이름으로 범위를 좁혀 야합니다.
다음과 같습니다.
jest sometest.test.js -t "some expression to match a describe or a test"
이 이름을 가진 모든 파일을 테스트 할 sometest.test.js
경우에만이 작업을 수행 할 수있는 특정 파일을 테스트하려는 경우, -t 옵션에 따라 매칭을 :
jest src/user/.../sometest.test.js
launch.json
특정 테스트 케이스에서 테스트를 트리거 하는 VSCode 구성 파일 에서이 옵션을 구현하려는 사람들을 위해 : medium.com/better-programming/…
나를 위해 다음과 같이 2 개의 매개 변수를 사용하면 작동합니다.
yarn test --watch -f "src/...fullpath.../reducer.spec.js" -t "Name of the test"
플래그 :
--watch: is optional
-f: will do filtering of your files, so if you have a lot of tests with the same name, specify the full path to the exact file
-t: works with 'describe' name or 'it' name of your test