refactoring
-
자동차 경주 게임 피드백 영상 시청 후공부/자바 플레이그라운드 with TDD, 클린코드 2022. 3. 2. 22:07
테스트하기 어려운 부분을 찾아 가능한 구조로 개선 Object Graph에서 다른 Object와 의존관계를 가지지 않는 마지막 노드를 먼저 찾는다. RacingMain -> RacingGame -> Car 같이 마지막인 Car를 먼저 한다. 또한 Car에 Random값에 의존성이 있다면 상위 Object로 올려서 하위 Object를 테스트 할 수 있도록 한다. getRandomNo 메서드를 protected로 변경 후 test코드에서 new Car {} 를 통해 override 해서 getRandomNo를 재정의하여 테스트도 가능하다. 하지만 장기적으로는 리팩토링을 통해 해결하자. 테스트는 경계값으로 하는것이 좋다. move가 되려면 4이상이라는 요구사항이면 3 과 4가 경계값 미리 예측을 하여 과도한 ..