🌼 Jest
어떤 기능을 추가할 때 가장 우려되는 점은 해당 기능이 기존 코드에 어떤 영향을 미칠지 알지 못한다.
우리가 서비스를 운영한다고 가정하고 생각해보면, 사용자들의 피드백을 참고하여 코드를 수정
새로운 기능 추가 => 기존 코드에 영향력 행사 => 에러발생
어디서 에러가 났는지 모든 코드를 실행하기 전까지는 알지 못한다.
⛔️ Nest , Jest (test코드 예제)
it('더하기 테스트', () => {
const a = 1;
const b = 2;
expect(a + b).toBe(3);
});
describe('나의 테스트 그룹', () => {
it('곱하기 테스트', () => {
const a = 1;
const b = 2;
expect(a * b).toBe(2);
});
it('빼기 테스트', () => {
const a = 1;
const b = 2;
expect(a - b).toBe(-1);
});
it('더하기 테스트', () => {
const a = 1;
const b = 2;
expect(a + b).toBe(3);
});
});
describe('상품 구매 테스트', () => {
it('돈 검증하기', () => {
const result = true;
expect(result).toBe(true);
});
it('상품 구매하기', () => {
const result = true;
expect(result).toBe(true);
});
});
import { Test, TestingModule } from '@nestjs/testing';
import { AppController } from './app.controller';
import { AppService } from './app.service';
describe('AppController', () => {
let appController: AppController;
beforeEach(async () => {
const app: TestingModule = await Test.createTestingModule({
controllers: [AppController],
providers: [AppService],
}).compile();
appController = app.get<AppController>(AppController);
});
describe('root', () => {
it('should return "Hello World!"', () => {
expect(appController.getHello()).toBe('Hello World!');
});
});
});