https://shoulditestprivatemethods.com/
설계가 잘못된 것입니다.
테스트하고 싶은 것을 클래스로 분리하여 public으로 만들어야 합니다.
public interface UuidHolder {
String randomUuid();
}
public class systemUuidHolder implements UuidHolder {
@Override
public String randomUuid() {
return UUID.randomUUID().toString();
}
}
public class MockUuidHolder implements UuidHolder {
private String uuidString;
public MockUuidHolder(String uuidString) {
this.uuidString = uuidString;
}
@Override
public String randomUuid() {
return uuidString;
}
}
테스트에서는 중복이 있더라도 가독성이 좋은 것이 낫습니다.
DRY: 중복이 없는 코드
DAMP: 서술적이고 의미있는 문구
+, for, if와 같은 논리를 넣지 마세요
테스트는 직관적이고 바로 이해 가능해야 합니다.
스터디 정말 기대가 되네요~
스프링 프로젝트를 해본 적도 없는데 이해가 잘 되는 명강의입니다