[javascript] Jest에서의 사용자 정의 매처(Custom Matcher) 작성 방법은 어떻게 되는가?

Jest는 JavaScript 테스트 프레임워크로, 매처를 사용하여 테스트 케이스를 작성하고 검증할 수 있습니다. Jest에서 제공하는 기본 매처 외에도 사용자 정의 매처를 작성할 수 있습니다.

사용자 정의 매처를 작성하는 방법은 다음과 같습니다:

  1. 먼저, Jest에서 사용할 사용자 정의 매처를 정의하는 파일을 생성합니다. 파일 이름은 보통 “.js” 확장자로 끝나는 것이 일반적입니다.

  2. 파일 내에서 다음과 같은 형식으로 사용자 정의 매처를 작성합니다:

expect.extend({
  customMatcher(received, argument) {
    // 매처 코드 작성
    // received는 테스트 대상 객체, argument는 매처의 인자입니다.
    // 매처 코드는 received와 argument를 비교하여 true나 false를 반환합니다.
    // 필요에 따라 오류 메시지를 반환할 수도 있습니다.
    
    return {
      pass: true / false, // 매처 성공 여부
      message: () => '오류 메시지' // 오류 메시지를 반환하는 함수
    }
  }
});
  1. 사용자 정의 매처를 프로젝트에서 사용하려면, 해당 파일을 import하고 테스트 케이스에서 expect 함수와 함께 사용하면 됩니다:
const customMatcher = require('./customMatcher.js');

test('테스트 케이스', () => {
  expect(received).customMatcher(argument);
});

이제 Jest에서 사용자 정의 매처를 작성하고 테스트 케이스에 적용할 수 있습니다. 적절한 비교 로직과 오류 메시지를 작성하여 원하는 테스트 결과를 얻을 수 있습니다.

더 자세한 내용은 Jest 공식 문서를 참조하시기 바랍니다.