더북(TheBook)

제스트는 기본적으로 단위 테스트를 병렬로 실행한다. 이는 verifier 변수처럼 무언가가 공유되는 상태를 만들면 테스트를 병렬로 수행하는 과정에서 이미 실행 중인 테스트 A의 verifier를 다른 테스트 B가 덮어써 실행 중인 테스트 A의 상태를 임의로 변경할 수 있다는 의미다. 대부분의 다른 언어에서 사용하는 단위 테스트 프레임워크는 이러한 문제를 피하려고 테스트를 병렬이 아닌 단일 스레드로 실행하는 것을 원칙으로 한다. 하지만 제스트는 병렬 테스트 방식을 선택했기에 verifier처럼 여러 곳에서 접근 가능한 변수를 두는 상태 기반 테스트는 잠재적으로 문제가 될 수 있으며, 알 수 없는 이유로 테스트가 실패하는 불안정한 테스트를 만들 수 있다.

이 잠재적 문제점은 어떻게 해결할 수 있을지 곧 같이 살펴볼 예정이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.