[node.js] Jest를 사용하여 단일 파일을 어떻게 테스트합니까?

Jest를 사용하여 여러 파일을 테스트 할 수 있지만 단일 파일을 테스트하는 방법을 알 수 없습니다.

나는 가지고있다:

  • 운영 npm install jest-cli --save-dev
  • 업데이트 package.json:`{… “scripts”: { “test”: “jest”} …}
  • 여러 테스트를 작성했습니다.

실행 npm test이 예상대로 작동합니다 (현재 14 개의 테스트가 실행 됨).

테스트와 같은 단일 파일을 어떻게 테스트 app/foo/__tests__/bar.spec.js합니까?

npm test app/foo/__tests__/bar.spec.js(프로젝트 루트에서) 실행을 시도했지만 다음 오류가 발생합니다.

npm ERR! Error: ENOENT, open '<path to project>/node_modules/app/foo/__tests__/bar.spec.js/package.json'

감사



답변

특정 테스트를 실행하려면 jest명령 을 사용해야합니다 . npm test작동 안 할 것이다. 액세스에 jest직접 명령 줄을 통해 설치 npm i -g jest-cli하거나 yarn global add jest-cli.

그런 다음로 특정 테스트를 실행하십시오 jest bar.spec.js.

참고 : 테스트 파일의 전체 경로를 입력하지 않아도됩니다. 인수는 정규 표현식으로 해석됩니다. 파일을 고유하게 식별하는 전체 경로의 모든 부분이 충분합니다.


답변

Magick 주문을 외면하기 만하면됩니다.

npm test -- SomeTestFileToRun

독립형 --은 옵션의 끝을 표시하는 * nix 매직이며,이 경우 이후의 모든 것이 실행중인 명령에 전달됨을 의미합니다 (NPM의 경우) jest. 옆으로 말함으로써 jest 사용법 메모를 표시 할 수 있습니다

npm test -- --help

어쨌든, 노래

npm test -- Foo

명명 된 파일 ( FooBar.js) 에서 테스트를 실행합니다 . 그러나 다음 사항에 유의해야합니다.

  • Jest는 이름을 대소 문자를 구분하므로 대소 문자를 구분하지만 대소 문자를 유지하는 파일 시스템 (예 : Windows NTFS)을 사용하는 경우 이상한 것으로 보이는 문제가 발생할 수 있습니다.

  • Jest는 사양을 접두사로 취급하는 것으로 보입니다.

위의 주문은

  • 실행 FooBar.js, Foo.jsFooZilla.js
  • 그러나 실행하지 마십시오 foo.js

답변

개별 테스트를 실행하려면

npm test -t ValidationUtil # `ValidationUtil` its my module `ValidationUtil.spec.js`

-t– 테스트 이름을 포함 하는 정규식 을 넣은 후 .


답변

사용 npm test농담 의미하지 않는다하는 것은 전 세계적으로 설치합니다. “test”가 패키지에서 jest를 사용하여 매핑되었음을 의미합니다.

다음은 프로젝트의 루트 수준에서 나를 위해 일한 것입니다.

node_modules/.bin/jest [args]

args는 실행하려는 테스트 파일이거나 여러 파일을 포함하는 디렉토리 일 수 있습니다.


답변

당신이 사용하는 경우 다음 직후에 또는 파일을 yarn추가 할 수 있습니다.spec.js.test.js

yarn test src/lib/myfile.test.js

이것은 package.json로컬 패키지로 jest 설치와 관련하여 내 부분입니다 (관련 부분 제거).

{
...
  "scripts": {
    "test": "jest",
    "testw": "jest --watch",
    "testc": "jest --coverage",
...
  },
  "devDependencies": {
    "jest": "^18.1.0",
    ...
  },

}


답변

파일 이름을 npm test --다음 과 함께 사용할 수 있습니다 .

npm test -- fileName.jsx 


답변

당신은 실행하면 npm >= 5.2.0당신은 농담 로컬로 설치 devDependenciesnpm i -d jest당신이 수행하여 특정 파일에 대한 농담을 실행할 수 있습니다npx jest /path/to/your/spec.js