-
[jest] 테스트코드 패턴과 mockingDev/TIL 2022. 9. 7. 11:30반응형
Unit Test AAA패턴
Arrange
- 테스트 실행 전 설정 및 준비 작업
Act
- 테스트 코드 실행
Assert
- 의도한 대로 동작했는지 확인하는 단계
Mock 이란?
실제 객체를 만들어 사용하기에 시간과 비용 등의 Cost가 높거나
객체 서로간의 의존성이 강해 구현하기 힘들경우 가짜의 객체를 만들어서 사용하는 방법
Mock
- 비어있는 객체
- 특정 로직이 불렸는지 확인하기 위해 사용
= 행위 검증에 사용
Stub
- 테스트를 위해 일부 행위가 간단하게 구현된 객체
- 특정 로직을 간소화 하기 위해 사용
= 상태 검증에 사용
Mock Function in jest
jest Mock Function은 다음을 통해 코드 간의 연결을 테스트할 수 있게 해줌
- 함수의 실제 행동을 지움
- 함수 호출 캡처링
- 생성자 함수를 캡처링
- 테스트를 위한 설정
함수를 모킹하는 방법
1. 모킹 함수를 테스트코드 내에 만들기
2. manual mock을 작성해서 특정 모듈을 오버라이딩
.mock 프로퍼티
모든 mock 함수는 .mock 프로퍼티가 있고, 이를 통해 어디서 어떻게 어떤 파라미터로 불렸는지 확인할 수 있음
Mock Return Values
mock 함수는 테스트 중에 테스트 값을 주입하는데 사용할 수도 있음
Mocking Modules
특정 모듈을 모킹하려면 jest.mock을 이용
Mocking Partials
모듈의 특정 부분만을 모킹할 수도 있음
Mock Implementations
mock 함수에 이름을 지정할 수 있다고 함
Custom Matchers
mock 함수를 이용해서 assert를 할 때에 필요한 custom matcher들을 제공
반응형'Dev > TIL' 카테고리의 다른 글
[Git] 푸시 후 커밋 되돌리기/제거하기 (0) 2022.11.28 Bun - 새로운 자바스크립트 실행기 (0) 2022.09.07 [css] overflow-x: hidden 예상대로 동작하지 않을 때 (0) 2022.09.06 [react-query] stale과 cache의 개념 제대로 이해하기 (0) 2022.09.05 vscode 1분만에 prettier 설정하기 (+ 저장 후 변경 안되는 경우) (0) 2022.09.05