Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
테스트코드에서 테스트를 실행하니 이와 같은 오류가 나온다.
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
each function(test) has a default timeout limit for 2 seconds (2000ms).
-> When our tests run longer than 2000ms, then the timeout reaches maximum limit and breaks the tests.
1. 2초 안에 테스트가 실행되도록 하기
2. 테스트 시간을 늘려주기
테스트 시간을 늘려준다면,
아래와같이 테스트코드 내에서 describe 블록 안에 넣어주거나 or 전역으로 늘려준다면 package.json에서 늘려주면 된다.
describe 블록 안에 시간 추가하는 함수를 적어주었는데, TypeError: this.timeout is not a function 오류가 난다.
- ES6 의 화살표 함수를 사용할 시에는 this.timeout가 오류가 난다고 한다.
describe('foo', () => {
this.timeout(100);
});
# => TypeError: this.timeout is not a function
그래서 아래와 같이 고쳐줘야 하는데....
describe('foo', function() {
this.timeout(100);
});
time을 늘리는 것은 옳은 처사가 아님.
다른 곳을 고쳐서'본질'을 해결해주도록 하자.
cf) 지금 나의 경우에는 transaction 함수식을 고쳐주는 식으로 해결.
출처
해결 방안 2가지 :
다시 문제 상황 원인 :
webstorm 폴더 색깔이 빨간색일 때 (0) | 2022.04.12 |
---|---|
Linux) zsh: parse error near `&' (0) | 2022.01.16 |
node.js) require, module.exports -> import, export default로 수정하기 (0) | 2022.01.06 |
node.js) Error: error:0308010C:digital envelope routines::unsupported, exit stat (0) | 2021.11.29 |
React) Failed to load resource: net::ERR_NAME_NOT_RESOLVED (0) | 2021.11.21 |