mocha의 기본 시간 초과 변경
유닛 테스트파일 my-spec.js가 있고, mocha로 실행되고 있는 경우:
mocha my-spec.js
기본 타임아웃은 2000밀리초입니다명령줄 매개 변수를 사용하여 부분 테스트용으로 덮어쓸 수 있습니다.
mocha my-spec.js --timeout 5000
모든 테스트에 대해 디폴트타임아웃을 글로벌하게 변경할 수 있습니까?즉, 다음과 같이 호출할 때 디폴트타임아웃 값은 2000밀리초와 다릅니다.
mocha my-spec.js
기본적으로 Mocha는 다음 파일을 읽습니다.test/mocha.opts
명령줄 인수를 포함할 수 있습니다.따라서 다음과 같은 파일이 포함된 파일을 만들 수 있습니다.
--timeout 5000
명령줄에서 Mocha를 실행하면 이 파일이 읽혀지고 기본적으로는 타임아웃이 5초로 설정됩니다.
상황에 따라서는 이렇게 설정하는 것이 좋을지도 모릅니다.describe
테스트 파일을 호출합니다.
describe("something", function () {
this.timeout(5000);
// tests...
});
그러면 파일 단위로만 타임아웃을 설정할 수 있습니다.
글로벌 기본값을 5000으로 설정하고 일부 파일에 대해 다른 설정을 할 경우 두 가지 방법을 모두 사용할 수 있습니다.
전화를 걸 때는 일반적으로 화살표 기능을 사용할 수 없습니다.this.timeout
(또는 다른 멤버에 접속할 수 있습니다.this
Mocha가 설정해 줍니다).예를 들어, 이것은 통상 동작하지 않습니다.
describe("something", () => {
this.timeout(5000); //will not work
// tests...
});
이는 화살표 함수가 다음을 수행하기 때문입니다.this
함수가 표시되는 범위에서 선택합니다.Mocha는 좋은 값으로 함수를 호출합니다.this
이 값은 화살표 함수 안에 전달되지 않습니다.Mocha 문서에는 이 항목에 대해 다음과 같이 기술되어 있습니다.
모카에게 화살 기능("람브다")을 전달하는 것은 권장되지 않습니다.이것의 어휘적 바인딩으로 인해 이러한 함수는 Mocha 컨텍스트에 액세스할 수 없습니다.
정답을 추가하는 것만으로 다음과 같이 화살표 기능을 사용하여 타임아웃을 설정할 수 있습니다.
it('Some test', () => {
}).timeout(5000)
완성도를 높이기 위해 이것을 추가한다.(저와 같은) 스크립트가package.json
파일만 추가해 주세요.--timeout
mocha 옵션:
"scripts": {
"test": "mocha 'test/**/*.js' --timeout 10000",
"test-debug": "mocha --debug 'test/**/*.js' --timeout 10000"
},
그럼 도망갈 수 있어npm run test
타임아웃이 10,000밀리초로 설정된 상태에서 테스트 스위트를 실행합니다.
현재 버전의 Mocha에서는 타임아웃을 다음과 같이 글로벌하게 변경할 수 있습니다.
mocha.timeout(5000);
테스트 스위트 내 임의의 장소에 위의 행을 추가합니다.가능하면 스펙 상단의 테스트 도우미 또는 다른 테스트 도우미에 추가합니다.
이전 버전에서는 브라우저에서만 글로벌 설정을 변경할 수 있습니다.mocha.setup
.
mocha.setup({ timeout: 5000 });
이 매뉴얼에서는 글로벌타임아웃 설정에 대해서는 설명하지 않지만 다른 일반적인 시나리오에서 타임아웃을 변경하는 방법에 대해 몇 가지 예를 제시합니다.
언급URL : https://stackoverflow.com/questions/23492043/change-default-timeout-for-mocha
'programing' 카테고리의 다른 글
MySql: 'SUM IF' 또는 'COUNT IF'가 가능합니까? (0) | 2022.12.11 |
---|---|
BOM을 사용하여 UTF-8 파일을 검색하는 우아한 방법? (0) | 2022.12.11 |
Jest에서의 ESLint 사용방법 (0) | 2022.12.01 |
Java Collections에서 Primitive 유형을 직접 저장할 수 없는 이유는 무엇입니까? (0) | 2022.12.01 |
BeforeRouteEnter 함수 및 Vuex 문제 (0) | 2022.12.01 |