이전 포스팅인 "vscode에서 typescript 프로젝트 생성"에서 생성한 프로젝트에서 시작
class Car {
private name: string;
constructor(name: string) {
this.name = name;
}
toString(): string {
return `name : ${this.name}`;
}
}
export default Car;
특정 클래스를 대상으로 테스트를 하기 위해서 프로젝트에서 index.ts에 작성된 Car 클래스를 별도의 파일로 분리한다
yarn add --dev jest ts-jest @types/jest
위 명령어를 입력한다
{
"name": "typescript-vscode",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"devDependencies": {
"@types/jest": "^24.0.13",
"@types/node": "^12.0.7",
"jest": "^24.8.0",
"ts-jest": "^24.0.2",
"tsc": "^1.20150623.0",
"typescript": "^3.5.1"
},
"scripts": {
"test": "jest"
},
"jest": {
"transform": {
"^.+\\.ts$": "ts-jest"
},
"testRegex": "\\.test\\.ts$",
"moduleFileExtensions": [
"ts",
"js"
],
"globals": {
"ts-jest": {
"enableTsDiagnostics": true
}
}
}
}
테스트를 실행하기 위해서 package.json에 jest 관련 설정을 추가한다
import Car from '../src/car';
describe('Car', () => {
test('toString', () => {
const myCar: Car = new Car('MY_CAR');
expect(myCar.toString()).toBe('name : MY_CAR');
});
});
프로젝트의 루트 디렉터리에 test 디렉터리를 만들고 car.test.ts 파일을 생성하여 테스트 코드를 작성한다
yarn test
명령어를 실행하면 package.json에 등록된 설정에 따라 테스트가 실행된다