January
11th,
2017
테스트케이스의 특성
테스트케이스의 각 테스트는 서로의 테스트에 어떠한 영향을 미치면 안된다.
따라서 before
, beforeEach
, after
, afterEach
등의 함수를 통해 상태 변화에 대한 초기화 및 공통적인 전처리 작업을 진행한다.
잘못 사용한 비동기 함수들의 병렬 처리
이 때 여러 비동기 함수들을 병렬로 처리하여 beforeEach
의 속도를 줄이기 위해 bluebird library 의 Promise.all()
을 많이 사용했다.
헌데 순차적으로 수행되어야 할 비동기 함수(유저 삭제 -> 랭킹 정보 초기화)가 동시에 병렬로 처리되어 테스트케이스가 실패하는 일이 발생했다.