(2) 1부 화폐 예제 - 1,2장 Money 객체

2021. 3. 23. 18:20개발공부/테스트 주도 개발

728x90

Github 코드보기

1장 다중 통화를 지원하는 Money 객체


테스트 코드 작성순서

 - 애플리케이션 기능들에 진행해야할 테스트 목록을 만듭니다.

 - 객체보다 테스트를 먼저 만들어야 합니다.

 

의존성과 중복

스티브 프리만은 테스트 코드의 문제가 의존성이라 했습니다. 의존성은 코드나 테스트 중 한쪽을 수정하면 다른 한쪽도 수정해야 하는 것을 말합니다. 중복은 문제의 징후이며 해결하려면 객체를 이용하는 것이 좋습니다. 중복을 해결하면 의존성도 제거됩니다. one and only one 코드 수정을 통해 다음 테스트도 통과되게 만드는 가능성을 최대화 하는 것입니다.

 

스텁 구현

메서드의 서명부와 반환 명령만 적는 식으로 해서 호출하는 테스트 코드가 컴파일 될 수 있도록 껍데기만 만들어두는 것을 뜻합니다.


2장 타락한 객체


우리의 목적은 '작동하는' '깔끔한' 코드를 얻는 것입니다.

 - 작동하는 → 깔끔한 순서로 해결합니다.

 

빨리 초록 막대를 보기 위해서

 - 가짜로 구현하기 : 상수를 반환하게 만들고 진짜 코드를 얻을 때까지 단계적으로 상수를 변수로 바꿔갑니다.

 - 명백한 구현 사용하기


오늘의 오류

 - gradle 빌드에서 Junit5를 실행하려면 버전을 5.7.0으로 고쳐주니 되었습니다. junit4 vs junit5 참고(howtodoinjava - junit5 vs junit4)


 

출처 : 테스트 주도 개발