-
가장 추천하는 방법
- private method는 public method 에서 extract 되어 나온것이기 때문에
- public method를 테스트하면서 자연스럽게 테스트하는것이 좋다.
-
private의 접근지시자 변경하는 방법
- 코드의 스코프가 넓어지는것은 클래스의 스코프도 넓어지므로 바람직하지 않다.
-
PowerMock 사용
- junit5를 지원하지 않아서 제외
-
Refelect 사용
-
비용이 많이든다.
-
테스트코드가 부서지기 쉬워진다. ( 바뀌는 경우가 많다는 의미인것 같다. )
-
부서지기 쉬운 코드란 무엇일까 ?
- 결합도가 높으면 조금만 수정해도 테스트가 금방 깨지는 경우
- 비지니스 로직 변경으로 인한 테스트 영향
-
잘짜야진 코드는 private 메서드를 테스트할 일이 벌어지면 안된다
출처