Node.js/TDD
TDD ( Test Driven Development )
jjikky
2023. 2. 21. 14:41
반응형
describe("",()=>{
beforeEach(()=>{
});
it("",()=>{
});
it("",()=>{
});
it("",()=>{
});
})
npm install jest supertest node-mocks-http --save-dev
테스트 주도 개발을 해야하는 이유
>> 더 안정적인 어플리케이션을 만들기 위해
- 디버깅 시간의 단축 : 자동화된 유닛 테스팅으로 특정 버글르 쉽게 발견
- 많은 테스트 코드와 작성된 어플리케이션은 훨씬 더 안정적
- 재설계 시간의 단축, 확장에 용이
테스트에 사용할 모듈을 추가
- Jest : 단위 테스트를 위한 모듈
- node-mocks-http : 단위 테스트를 위한 모듈
- spuer test : 통합 테스트를 위한 모듈
npm install jest supertest node-mocks-http --save-dev
단위 (Unit )테스트
자신이 개발한 코드 단위 (모듈, 구성요소)를 테스트
소스코드의 개별 단위를 테스트해서 사용할 준비가 되었는지 확인하는 테스트 방법이다.
개발 초기 단계에서 버그가 발견되므로 수정 비용을 줄이는데 도움이 된다.
단위 테스트의 조건
- 독립적이어야 하고, 다른 테스트에 의존 하면 안된다.
- 격리되어야 한다. Axios, Ajax, LocalStorage 등 테스트 대상이 의존하는 것을 다른것으로 대체해야 한다.
Jest
jest 라이브러리 설치
npm install jest --save-dev // jest 라이브러리 설치
test 스크립트 변경
{filename}.spec.js | |
Jest가 찾는 파일 | {filename}.test.js |
"tests" 폴더 안에 있는 모든 파일 |
jest 파일 구조
describe("",()=>{ // name,fn
beforeEach(()=>{
});
it("",()=>{ // name,fn,timeout
});
it("",()=>{
});
it("",()=>{
});
});
describe : 여러 관련 테스트를 그룹화 하는 블록 생성
test ( it ) : 개별 테스트를 수행하는 곳.,각 테스트를 작은 문장처럼 설명
expect : 값을 테스트 할 때 사용되며 거의 matcher와 함께 사용
matcher : 다른 방법으로 값을 테스트 하도록 "매처"를 사용 ( toBe)
Jest matcher document : https://mulder21c.github.io/jest/docs/en/next/using-matchers
Jest · 🃏 Delightful JavaScript Testing
🃏 Delightful JavaScript Testing
mulder21c.github.io
반응형