답변:
mocha의 --grep
옵션을 사용해보십시오 :
-g, --grep <pattern> only run tests matching <pattern>
유효한 모든 JavaScript 정규식을로 사용할 수 있습니다 <pattern>
. 예를 들어, 우리가있는 경우 test/mytest.js
:
it('logs a', function(done) {
console.log('a');
done();
});
it('logs b', function(done) {
console.log('b');
done();
});
그때:
$ mocha -g 'logs a'
단일 테스트를 실행합니다. 이것은 모든 이름 describe(name, fn)
과 it(name, fn)
호출 의 이름을 가로지 릅니다 .
describe()
특정 세트를 쉽게 찾고 선택할 수 있도록 네임 스페이스에 중첩 된 호출을 사용 하십시오.
mocha some/test.js
) 에서 파일을 지정해 도 전혀 작동하지 않았습니다. 감사!
logs a bcd
이 포함 된 실행을 피하는 방법은 logs a
무엇입니까? 정규식이 ^$
0.10.2에서 작동하지 않습니다.
사용자의 사용 패턴에 따라, 당신은 단지 사용하는 것 같아서 단지 . 우리는 TDD 스타일을 사용합니다. 다음과 같이 보입니다 :
test.only('Date part of valid Partition Key', function (done) {
//...
}
이 테스트 만 모든 파일 / 스위트에서 실행됩니다.
it.only
.
eslint-plugin-mocha
no-exclusive-tests
당신이 제거하는 것을 잊었을 때 당신을 잡을 규칙 이 있습니다 .only
.
당신이 사용하는 경우 npm test
(package.json 스크립트를 사용) 추가를 사용 --
모카에 이르기까지 PARAM을 전달하는
예 : npm test -- --grep "my second test"
편집 : --grep
약간 까다로운 것처럼 보일 수 있습니다 (아마 다른 주장에 따라 다름). 당신은 할 수 있습니다 :
package.json을 수정하십시오.
"test:mocha": "mocha --grep \"<DealsList />\" .",
또는 --bail
덜 까다로운 것으로 보이는 대안 사용
npm test -- --bail
--grep
는 약간 까다로울 수 있습니다 -npm 스크립트 항목 내에 mocha 바로 뒤에 넣으십시오. Else npm test -- --bail
는 첫 번째 테스트 실패 후
--grep
내 하루 를 저장 하기 전에 추가 대시를 통과 ! 고마워 추신. 나는 Windows에서 실행 중npm test -- --grep @tag
실제로 mocha.opts에서 glob 패턴 (예 :) 을 제거하면 파일 이름으로 ( "it () ./test/**/*.spec.js
-string -grepping"이 아니라) 단일 모카 테스트 를 실행할 수도 있습니다 .
node_modules/.bin/mocha --opts test/mocha.single.opts test/self-test.spec.js
여기 내 mocha.single.opts가 있습니다 (앞서 언급 한 글로브 라인이 누락 된 경우에만 다릅니다)
--require ./test/common.js
--compilers js:babel-core/register
--reporter list
--recursive
배경 : opts-File에서 시작하는 다양한 스위치를 재정의 할 수 있지만 glob를 재정의--
할 수는 없습니다 . 이 링크에는 설명도 있습니다.
힌트 : 경우 node_modules/.bin/mocha
혼란이 로컬 패키지 모카를 사용 할 수 있습니다. mocha
전 세계에 설치 한 경우 바로 작성할 수도 있습니다 .
그리고 당신이 편안함을 원한다면 package.json
: 여전히 :에서 **/*
-ish glob를 제거 mocha.opts
하고 여기에 삽입하십시오. 모든 테스트를 위해 단일 테스트를 위해 남겨 두십시오.
"test": "mocha ./test/**/*.spec.js",
"test-watch": "mocha -R list -w ./test/**/*.spec.js",
"test-single": "mocha $1",
"test-single-watch": "mocha -R list -w $1",
용법:
> npm run test
각기
> npm run test-single -- test/ES6.self-test.spec.js
( --
!)
Warning: Could not find any test files matching pattern: $1
npm test <filepath>
예 :
npm test test/api/controllers/test.js
여기 'test / api / controllers / test.js'는 파일 경로입니다.
당신은 "it.only"를 시도 할 수 있습니다
it.only('Test one ', () => {
expect(x).to.equal(y);
});
it('Test two ', () => {
expect(x).to.equal(y);
});
이것에서 첫 번째 만 실행됩니다
--forbid-only
CI / 빌드 서버에서 테스트를 실행하지 않으면 위험 합니다. .only
주요 지점으로 몰래 들어가고 다른 테스트는 더 이상 실행되지 않으므로 음소거하는 경향이 있습니다. 다른 기능을 테스트하기 위해 코드를 변경하는 워크 플로우를 생각하게되었습니다. 테스트 실행자는 개발자가 아닌 어떤 테스트 (일명 태그 테스트)를 실행해야하는지 결정해야합니다.
it.only
repo로 코드를 커밋하지
https://mochajs.org/#usage를 살펴보면 단순히 사용하는 것을 볼 수 있습니다.
모카 테스트 / myfile
작동합니다. 마지막에 '.js'를 생략 할 수 있습니다.
--grep
에서만 필터링 된 노출 아래있었습니다@
.