[typescript] 타입스크립트 단위 테스트 작성 시 테스트용 데이터 생성 방법

단위 테스트를 작성할 때는 실제 데이터 대신 테스트용 데이터를 사용하여 코드의 견고성을 검증해야 합니다. 타입스크립트에서 단위 테스트용 데이터를 생성하는 여러 가지 방법을 살펴보겠습니다.

1. 모의 객체(Mock Object) 사용

모의 객체 라이브러리를 사용하여 테스트 데이터를 생성하고, 테스트 중에 예상되는 동작을 반환하도록 설정할 수 있습니다. Jest나 Sinon과 같은 모의 객체 라이브러리를 사용하여 모의 객체를 생성하고, 테스트에 활용할 수 있습니다.

import { mock } from 'jest';
import UserService from '../UserService';

const mockUser = mock<UserService>({ id: 1, name: 'John Doe' });

// Test code using mockUser

2. 테스트 더미 데이터(Data Dummy)

테스트를 위한 더미 데이터를 직접 생성하여 사용할 수 있습니다. 예를 들어, 테스트할 함수에 필요한 데이터 형식을 따르는 더미 데이터를 정의하고, 이를 테스트에 활용할 수 있습니다.

const dummyUser = { id: 1, name: 'John Doe' };

// Test code using dummyUser

3. 테스트 더블(Test Double) 활용

테스트 더블은 실제 객체를 사용하는 대신 테스트용 객체를 대신 활용하여 테스트하는 방법을 말합니다. 이를 통해 의존성이 복잡한 객체를 테스트하기 쉽게 만들 수 있습니다.

class UserServiceStub implements UserService {
  getUser(id: number) {
    return { id, name: 'John Doe' };
  }
}

const userServiceStub = new UserServiceStub();

// Test code using userServiceStub

마무리

타입스크립트로 단위 테스트를 작성할 때, 모의 객체, 테스트용 더미 데이터, 그리고 테스트 더블을 활용하여 테스트용 데이터를 생성하고, 테스트 코드를 작성할 수 있습니다. 이러한 방법을 통해 테스트를 보다 효과적으로 작성하고, 코드를 견고하게 유지할 수 있습니다.

관련 문서: Jest 모킹 함수


위 글에서는 타입스크립트로 단위 테스트를 작성할 때, 테스트용 데이터를 생성하는 여러 가지 방법에 대해 설명했습니다. 모의 객체, 테스트 더미 데이터, 그리고 테스트 더블을 활용하여 각각의 장단점을 다루었습니다.