레벨업
Jest
kims1997
2022. 12. 23. 22:11
반응형
Jest
Mocking
Mocking은 단위 테스트를 작성할 때 해당 코드가 의존하는 부분을 가짜(mock)으로 대체하는 기법 → 일반적으로 테스트하려는 코드가 의존하는 부분을 직접 생성하기가 너무 부담스러운 경우 mocking 사용
Mocking을 이용하면 구체적으로 구현해야 하는 실제 객체 사용보다 훨씬 빠르고, 동일한 결과를 내는 테스트를 작성 가능
NestJS는 Dependency Injection을 통해 각 Module을 캡슐화하여 서로의 의존성을 최대한 배제하고 주입하여 사용하는 특징이 있음 → NestJS의 Test 환경을 조성할 경우 의존성 주입을 하지 않고 의존성 자체를 Mocking 해야함 //
TDD 개발과정
- 테스트 주도 개발
- 반복 테스트를 이용한 소프트웨어 방법론으로 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현
- 짧은 개발 주기의 반복에 의존하는 개발 프로세스
unit test (단위 테스트)
응용 프로그램에서 함수처럼 가장 작은 단위를 테스트
integration test (통합 테스트)
unit test가 가장 작은 부분만 따로 테스트한다면, 통합 테스트는 유닛들을 모아서 테스트 → 서버의 구성 요소들이 함께 잘 작동하는지를 테스트하기 위해
e2e(end-to-end) test
사용자의 입장에서 사용자의 상황을 처음부터 끝까지 가정하여 올바르게 작동하는지 테스트 → 예상되는 사용자의 행동과, 여러 시나리오들을 만들어 시뮬레이션함(e2e 테스트를 도와주는 프론트엔드 도구에는 대표적으로 Cypress, Selenium )
반응형