잘못될까봐 가장 걱정되는 영역을 집중적으로 테스트하자. 단순히 읽고 쓰기만 하는 접근자는 테스트할 필요가 없다.
제대로 계산하는지.
실패할 상황도 테스트하기.
자주 테스트하기. 몇 분 간격으로, 적어도 하루에 한 번.
불변임이 확실한 픽스처는 공유하기도 한다. 그래도 가장 선호하는 방식은 매번 새로운 픽스처를 만드는 것이다.
describe('provide', function() {
const asia= new Province(sampleProvinceData()); // 이렇게 하면 안 된다.
it('shortfall', function() {
expect(asia.shortfall).equal(5);
});
if('profit', function() {
expect(asia.profit).equal(230);
});
});
describe('provide', function() {
let asia;
beforeEach(function() {
asia = new Province(sampleProvinceData());
});
it('shortfall', function() {
expect(asia.shortfall).equal(5);
});
if('profit', function() {
expect(asia.profit).equal(230);
});
});
세터는 보통 단순하여 버그가 생길 일이 없어 테스트를 잘 하지 않지만 복잡한 동작을 수행한다면 테스트해볼 만 함.
경계 조건 검사하기.
픽스쳐 (Fixture) : 고정 설치된 물건이라는 뜻처럼, 테스트 케이스 실행 전후에 항상 실행하는 함수를 의미합니다. 실제로는, 테스트 함수를 실행하기 위해 필요한 환경을 미리 구축하거나(setup) 실행 후 리소스를 정리하는(teardown) 함수, 그리고 이와 함께 사용되는 사용자 데이터(data)로 구성됩니다. 참고로, GLib에서는 각 테스트간 의존성을 피하기 위해 모든 테스트 케이스를 실행할때마다 매번 픽스쳐를 새로 구성하는 방식(fresh fixture)을 사용합니다.