TDD
Test Driven Development
테스트 주도 개발
class MockUserRepository {
mydb = [
{ email: 'tls1641@gmail.com', password: '0000', name: '신홍석', age: 8 },
{ email: 'tls1641@naver.com', password: '1234', name: '최성환', age: 12 },
{ email: 'hiosi@naver.com', password: '4321', name: '고재형', age: 100 },
];
findOne({ email }) {
const users = this.mydb.filter((el) => el.email === email);
if (users.length) return users[0];
return null;
}
save({ email, password, name, age }) {
this.mydb.push({ email, password, name, age });
return { email, password, name, age };
}
}
여기서 TDD 의 순서가 있다
원래 기존에 개발을 할때
설계 => 개발(코드작성) => 테스트(코드작성)
이런 순서 였다면 TDD 는
설계 => 테스트(코드작성) => 개발(코드작성)
이렇게 테스트 코드를 먼저 작성하는 개발 방법이다.
왜 이렇게 만들었을까?
TDD를 하면 자동적으로 테스트 커버리지가 높아진다. 오버엔지니어링 방지, 내가 필요한 만큼만 코딩할수있다.
불필요한 코딩을 줄일 수 있다. 설계에 대한 피드백이 빠르다.