자바스크립트에서 어떻게 유닛테스트를 할 것인지 실습
테스트러너 → jest 사용
각 테스트는 독립적으로 실행 되어야 한다
→ 서로 영향을 주면 안됨
→ beforeEach로 매번 값 초기화
에러 확인 toThrow assert 는 콜백을 인자로 받는다.
비동기 테스트
- done으로 종료시점 명시
- 프로미스 자체를 return
- async await 으로 블로킹
- resolves, rejects 로 결과값을 직접 테스트가능
mock 함수
- jest.fn 으로 생성
- toHaveBeenCalledTimes - 호출 횟수
- toHaveBeenCalledWith - 호출시에 인자값
모듈간의 의존성을 목으로 대체하여 하나의 유닛에 대한 테스트만 수행
목 - 기존 인터페이스의 일부를 가짜로 수정
스텁 - 같은 인터페이스의 모듈을 테스트용으로 새로 생성?
비즈니스 로직 내의 네트워크 호출 같은 부분은 외부에서 의존성 주입하는 식으로 모듈을 분리해서 만들고, 테스트에서는 스텁 모듈을 주입
Loading Comments...