모의하고 싶은 써드 파티 컴포넌트가 있지만, 복잡한 계층 구조를 갖는 클래스를 리턴하고, 인터페이스 중 일부는 API에서 사용할 수없는 일부 클래스로 초기화 된 정적 필드를 가지고있다. 나는 숨겨진 수업에서 무엇이든 필요하지 않습니다.의존성이없는 모의 클래스
샘플 : Combo를 구현하는 MutableCombo 클래스를 모의한다고 가정 해 보겠습니다. 그러나 인터페이스 콤보에는 Breaker로 초기화 된 필드가 있습니다. 차단기는 구현 패키지의 일부이며 컴파일 및 테스트 중에 개발자가 액세스 할 수 없습니다.
public interface Combo{
String FUU = Breaker.getFoo();
String BAR = Breaker.getBar();
}
public class MutableCombo implements Combo;
나는 MutableCombo 작업 내 수업을 테스트 할 수 있지만
java.lang.NoClassDefFoundError: Breaker
at Combo.<clinit>(Combo.java:36)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
'구현 패키지의 일부'란 무엇을 의미합니까? – CAMOBAP
타사 구성 요소를 사용합니다. 구성 요소에는 2 부분으로 된 API 및 구현 패키지가 있습니다. 개발자로서 컴포넌트의 API 부분 만 사용할 수 있습니다. – ainlolcat