ABOUT ME

Today
Yesterday
Total
  • [jest] 테스트코드 패턴과 mocking
    Dev/TIL 2022. 9. 7. 11:30
    반응형

     

    https://jestjs.io/docs/mock-functions

     

    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들을 제공

     

     

     

     

    반응형
Designed by Tistory.