Programming

Jest 테스트를 순차적으로 실행하는 방법은 무엇입니까?

procodes 2020. 8. 7. 21:55
반응형

Jest 테스트를 순차적으로 실행하는 방법은 무엇입니까?


을 통해 Jest 테스트를 실행하고 npm test있습니다. Jest는 기본적으로 테스트를 병렬로 실행합니다. 테스트를 순차적으로 실행할 수있는 방법이 있습니까?

현재 작업 디렉토리 변경에 의존하는 타사 코드를 호출하는 몇 가지 테스트가 있습니다.


CLI 옵션은 문서화되어 있지 않지만 명령을 실행하여 액세스 할 수 있습니다 jest --help.

그러면 찾고있는 옵션이 표시됩니다 --runInBand.


여전히 Jest에 익숙해졌지만 설명 블록은 동 기적으로 실행되는 반면 테스트 블록은 비동기 적으로 실행되는 것으로 보입니다. 다음과 같은 외부 설명 내에서 여러 설명 블록을 실행하고 있습니다.

describe
    describe
        test1
        test2

    describe
        test3

이 경우이 ( 가) 포함 된 설명 블록 다음에 오는 설명 블록에 있으므로이 완료 test3될 때까지 실행되지 않습니다 .test2test3test2


모듈 테스트로 멋지게 분리 된 순차적 실행을 보장하는 것은 저에게 효과적이었습니다.

1) 테스트를 별도의 파일에 보관하지만 spec/test이름은 지정 하지 않습니다 .

|__testsToRunSequentially.test.js
|__tests
   |__testSuite1.js
   |__testSuite2.js
   |__index.js

2) 테스트 스위트가있는 파일도 다음과 같아야합니다 (testSuite1.js).

export const testSuite1 = () => describe(/*your suite inside*/)

3) 다음으로 가져 와서 testToRunSequentially.test.js실행하십시오 --runInBand.

import { testSuite1, testSuite2 } from './tests'

describe('sequentially run tests', () => {
   testSuite1()
   testSuite2()
})

직렬 테스트 실행기를 사용하십시오.

npm install jest-serial-runner --save-dev

jest를 사용하도록 설정하십시오 (예 : jest.config.js에서).

module.exports = {
   ...,
   runner: 'jest-serial-runner'
};

프로젝트 기능을 사용하여 테스트 하위 집합에만 사용할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/32751695/how-to-run-jest-tests-sequentially

반응형