테스트
- 테스트는 배포하는 것보다 중요하다.
- 스스로 또는 팀 내에서 정한 Coverage 목표를 달성하는 것에 초점을 둔다.
- 테스트 주도 개발(Test Driven Development, TDD)은 훌륭한 개발 방법론이다.
테스트 컨셉
- 지엽적인 테스트보단 특정 케이스에 대한 테스트
- 특히 테스트 케이스는 많을수록 무조건 좋다!
// BAD
const assert = require('assert');
describe('MakeMomentJSGreatAgain', () => {
it('handles date boundaries', () => {
let date;
date = new MakeMomentJSGreatAgain('1/1/2015');
date.addDays(30);
assert.equal('1/31/2015', date);
date = new MakeMomentJSGreatAgain('2/1/2016');
date.addDays(28);
assert.equal('02/29/2016', date);
date = new MakeMomentJSGreatAgain('2/1/2015');
date.addDays(28);
assert.equal('03/01/2015', date);
});
});
// GOOD
const assert = require('assert');
describe('MakeMomentJSGreatAgain', () => {
it('handles 30-day months', () => {
const date = new MakeMomentJSGreatAgain('1/1/2015');
date.addDays(30);
assert.equal('1/31/2015', date);
});
it('handles leap year', () => {
const date = new MakeMomentJSGreatAgain('2/1/2016');
date.addDays(28);
assert.equal('02/29/2016', date);
});
it('handles non-leap year', () => {
const date = new MakeMomentJSGreatAgain('2/1/2015');
date.addDays(28);
assert.equal('03/01/2015', date);
});
});
'프론트엔드 > JavaScript' 카테고리의 다른 글
[JavaScript] 클린 코드 - 9. 에러 처리 (0) | 2021.08.28 |
---|---|
[JavaScript] 클린 코드 - 8. 동시성 (Concurrency) (0) | 2021.08.26 |
[JavaScript] 클린 코드 - 6. SOLID (0) | 2021.07.04 |
[JavaScript] 클린 코드 - 5. 클래스 (0) | 2021.07.04 |
[JavaScript] 클린 코드 - 4. 객체와 자료구조 (0) | 2021.06.25 |