TypeScript의 Jest 모의
Jest Mock
과 TypeScript에서 사용하는 방법을 예제와 함께 소개합니다.
TypeScript의 Jest 모의
사용자에게 완벽해야 하는 상용 응용 프로그램을 작업할 때 각 모듈이 원하는 대로 작동하는지 확인해야 합니다. 이를 위해 TypeScript에서 Jest 모의를 사용합니다.
Jest mock은 대규모 웹 애플리케이션을 위한 테스트 프레임워크입니다. mock
함수를 사용하여 출력만 테스트하는 대신 다른 코드에 의해 간접적으로 호출된 함수의 모듈을 감시할 수 있습니다.
구현이 제공되지 않은 경우 mock
함수는 호출될 때 undefined
를 반환합니다. 아래와 같이 jest.mock()
함수를 쉽게 사용할 수 있습니다.
import * as dependency from '../someModule';
jest.mock('../someModule');
jest.mock()
함수는 종속성의 유형을 변경하므로 TypeScript에서 jest.mock()
함수를 호출한 후 유형 캐스팅을 사용해야 합니다. TypeScript에서 typeof
메소드를 사용하여 유형 캐스팅을 쉽게 호출할 수 있습니다.
아래와 같이 TypeScript로 가져온 모듈을 테스트하기 위해 자동 모의를 사용하는 예제를 살펴보겠습니다.
import { testClass } from './testClass';
jest.mock('./testClass');
const mockClass = <jest.Mock<testClass>>testClass;
그러나 모듈이나 클래스를 수동으로 조롱하려는 경우에도 쉽게 할 수 있습니다. 아래와 같이 클래스를 수동으로 조롱하는 예를 살펴보겠습니다.
import testClass from './testClass';
import testClassDependency from './testClassDependency';
const testMockClassDependency = jest.fn<testClassDependency>(() => ({
}));
it('Throw an error', () => {
const testClass1 = new testClass(testMockClassDependency());
});
위의 예에서 볼 수 있듯이 testMockClassDependency
는 모의 객체 인스턴스를 생성합니다. testClassDependency
대신 클래스, 유형 또는 인터페이스를 사용할 수 있습니다.
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn