[typescript] 객체 분해 할당과 프로퍼티 셋터/게터를 사용한 타입스크립트 프로젝트의 테스트 커버리지 측정 방법

테스트 커버리지는 코드베이스의 품질을 측정하고 개선하는 데 중요한 지표입니다. 타입스크립트 프로젝트에서는 객체 분해 할당프로퍼티 셋터/게터를 사용하여 커버리지를 측정하는 방법에 대해 알아보겠습니다.

객체 분해 할당

테스트 커버리지를 측정하는 방법 중 하나는 객체 분해 할당을 활용하는 것입니다. 객체 분해 할당은 코드의 일부분만 테스트 되고 있는지를 확인하는 데 도움이 됩니다.

예를 들어, 아래와 같은 코드가 있다고 가정해봅시다.

// user.ts
export interface User {
  id: number;
  name: string;
  email: string;
}

// userService.ts
import { User } from './user';

export class UserService {
  private users: User[] = [];

  addUser(user: User) {
    this.users.push(user);
  }
}

위 코드에서 addUser 메서드만 테스트 되고 있는지 확인하려면, addUser 메서드를 호출할 때 사용하는 user 객체를 분해 할당하여 테스트하는 방법을 고려할 수 있습니다.

프로퍼티 셋터/게터

또 다른 방법은 프로퍼티 셋터/게터를 사용하는 것입니다. 셋터/게터는 객체의 특정 프로퍼티에 대한 읽기 및 쓰기 역할을 정의할 수 있게 해줍니다. 이를 활용하여 프로퍼티의 값이 변경될 때마다 커버리지를 측정하도록 할 수 있습니다.

아래는 프로퍼티 셋터/게터를 사용한 예시입니다.

// user.ts
export class User {
  private _name: string = '';

  get name(): string {
    return this._name;
  }
  set name(value: string) {
    this._name = value;
  }
}

위 코드에서 name 프로퍼티에 대한 셋터/게터를 테스트하여 코드 커버리지를 측정할 수 있습니다.

이와 같이 객체 분해 할당과 프로퍼티 셋터/게터를 활용하여 타입스크립트 프로젝트의 테스트 커버리지를 높일 수 있습니다.

참고 자료