접근 제어자를 최소한으로 해두고 확장하라는 말을 듣고
A클래스 내의 메소드를 private으로 설정해 두었다가 > 해당 메소드를 test하고 싶어 (junit 이용) > default로 변경해 주었다.
팀원 어거스트가 제기한 의문. 테스트 때문에 본 코드를 바꿔도 괜찮을까?
이해되진 않았지만 느낌은 알 수 있었던 해결된 답변
private 메소드란 왜 존재하고 목적은 무엇인가? private 도 테스트해야될까? 를 생각해봐야 한다.
접근제어자를 최소한으로만 하기 위해서 했었는데... 흠.. 이것 자체를 고민해야겠다는 생각이 들었다. 과연 private일까?
코드스쿼드 디온님의 빛나는 앤썰
private인 코드는 보통 테스트 하지 않습니다. 그에 연관된 코드를 테스트할 때, 함께 테스트 되도록 작성해주시거나, 접근제어자를 변경후에 테스트를 수행하는 편이 좋다고 봅니다. (이 메서드는 테스트 되어야하는가?를 생각해보세요.)