public class ValueFinder {
public String findValue(Object obj) {
String value = null;
value = findValueFirstWay(obj);
if (value == null) {
value = findValueSecondWay(obj);
}
return value;
}
protected String findValueFirstWay(Object obj) {
....
}
protected String findValueSecondWay(Object obj) {
....
}
}
이제 findValueFirstWay
가 실제로 findValue
을 호출 할 때 시도 된 첫 번째 방법인지 테스트하고 싶습니다. 이것은 매우 간단한 클래스이며, 방법의 "알고리즘"은 매우 간단합니다. findValueFirstWay
과 findValueSecondWay
가 조롱을 당하고 findValue
이 홀로 남겨진 부분적인 모의를하지 않고 어떻게 테스트 할 수 있습니까?
findValueFirstWay
와 findValueSecondWay
가 별도의 클래스 또는 클래스에 있도록 클래스를 리팩터링한다고 가정합니다. 이렇게 단순한 무언가를 위해 불필요한 작업처럼 보인다.
저는 여러분이 옳다고 생각합니다. 클래스는 실제 입력을 만들고 실제 객체로 출력을 검증함으로써 완전히 테스트 될 수 있습니다. – Ryan