🚗 테스트란?
제품의 품질을 확인하고 보장하기 위한 작업
요구사항대로 잘 구현되었는지 확인하고, 계속 변하는 요구 사항에 대응하며 안정적인 품질을 유지
🚗 단위 테스트란?
피라미드 위로 갈수록 slower, more expensive
피라미드 아래로 갈수록 faster, cheaper
🚗 테스트 코드가 필요하지 않은 경우?
🤔내가 생각한 테스트 코드의 도움 여부
-> 도움이 됐다. 제대로 작성했다고 생각했지만 테스트 코드를 통해 잘못 작성한 부분을 찾아낼 수 있었다.
다만, 테스트 코드 작성이 미숙해 시간이 오래 걸렸다. 이는 익숙해지면 해결될 수 있는 부분이라 생각한다.
🤔내가 생각한 테스트 코드 필요 여부
-> 필요하다. 사람이기 때문에 놓칠 수 있는 부분이 있는데 테스트 코드를 사용하면 효과적으로 잡아낼 수 있기 때문이다.
당장 내일까지 개발해야 하는 급박한 상황일 경우 굳이 테스트를 할 필요는 없음.
일회성일 경우 굳이 테스트를 할 필요가 없음.
코드는 꾸준히 업데이트가 필요하기 때문에 그 뒤에 테스트 과정을 거쳐도 괜찮음.
🚗 기본 용어
production code
실제 코드
테스트 대상이 되는 코드
test code
테스트 코드
별도 파일에 보관
테스트 대상 코드가 car.js라면 이에 대한 테스트 코드는 car.test.js로 명명
🚗 테스트 케이스
하나의 테스트 케이스는 일반적으로 세 개의 섹션으로 구성
• 준비 : 테스트할 동작을 호출하기 위해 필요한 사전 준비 작업
• 실행: 테스트 대상 동작 호출
• 단언: 호출 결과가 기대한 결과와 동일한 지 확인
test('테스트 이름', () => {
//준비(given)
const car = new Car();
//실행(when)
car.move();
//단언(then)
expect(car.position).toBe(1);
})
'우아한 테크코스' 카테고리의 다른 글
레벨1 - 자동차경주 피드백 (0) | 2023.04.03 |
---|---|
비동기 퀴즈 (0) | 2023.03.20 |
HTML의 자식 요소 제거 방식 (0) | 2023.03.20 |
innerText와 textContent의 차이 (0) | 2023.03.20 |
🚗 좋은 코드 🚗 (0) | 2023.02.08 |
댓글