배경 테스트에 최근에 관심이 생겨서 백엔드는 해봤는데 프론트 개발자가 프론트 테스트를 제대로 해보지 않았다. 그래서 차근차근 조금씩 학습할 예정이다. 프론트엔드에서 테스트가 필요한 이유 백엔드는 당연히 테스트가 필요하다. db에 접근하기 때문에 실수가 나오면 안되고 ui를 보고 직접 테스트하는게 불가능하기 때문에 어차피 수동으로 테스트를 해볼려면 일일히 postman을 이용해서 하나하나 테스트해봐야 한다. 그리고 많은 쿼리가 들어오면 서버가 터지기도 하기 때문에 진짜 필수다. 그런데 프론트에서도 필요할까??? 사실 간단한 프로젝트에서는 필요하지 않다. 그냥 버튼 몇 번 클릭해보면 눈으로 확인 가능하니 말이다. 하지만 프로젝트 규모가 커지고 실제로 배포해서 사용자가 있는 서비스에서는 사소한 오류라도 나와서..
배경 저번글에서 기본 jest 사용법을 알아봤다. 기본 사용법은 알았으니 뚝딱 되지 않을까?? 그럴리가... 단위 테스트 미들웨어 테스트 먼저 미들웨어 테스트를 해보자. 비교적 간단한 것부터 시작하려고 한다. is-logged-in-middleware.ts import { NextFunction, Request, Response } from 'express'; const isLoggedInMiddleware = async (req: Request, res: Response, next: NextFunction) => { if (req.user) { return next(); } res.status(403).json({ errorMessage: '로그인이 필요합니다' }); }; export default ..
배경 jest는 우아한테크캠프에서 조금 공부하고 사용해보긴 했다. 그런데 사가 테스트에만 사용을 했었고 tdd방식으로 만들어본적도 없다. 또한 백엔드가 진짜 테스트가 중요한데 백엔드에서 적용해본적이 없다. 그래서 이번에 만든 프로젝트에 테스트를 적용해보려고 한다. 이글은 www.daleseo.com) 글들을 바탕으로 적었다. 사용한 라이브러리 버전 package.json "jest": "^27.3.1", "supertest": "^6.1.6", "ts-jest": "^27.0.7", "@types/jest": "^27.0.2", jest 설정하기 jest는 jest.config.js, jest.config.ts, package.json에서 설정할 수 있다. 나는 jest.config.ts에 작성했다. 세..