독서 후 : https://code.google.com/p/powermock/wiki/BypassEncapsulation 나는 깨닫지 못합니다.PowerMock 개인 회원 전용 액세스
이 예제를 참조하십시오 :
public class Bar{
private Foo foo;
public void initFoo(){
foo = new Foo();
}
}
어떻게 내가 PowerMock를 사용하여 개인 회원 foo
에 액세스 할 수 있습니다 (예를 들어 foo
가 null가 아닌 것을 확인하기 위해)?
참고 : 내가 추가 get
방법과 코드를 수정되고 싶지 않아 무엇
.
편집 : 나는 내가 솔루션 링크 된 페이지의 샘플 코드 블록을 놓친 것을 깨달았
.
솔루션 :
Whitebox.getInternalState(bar, "foo");
다음 테스트 클래스 작성만큼 간단해야
이 유형의 테스트를 작성하기 전에 여기에 요약 된 개인 변수의 값을 확인하는 것에 대한 논쟁을 신중하게 생각하는 것이 좋습니다. https://stackoverflow.com/questions/2981476/does-jmockit-have-any-drawbacks-at- 전체/7499979 # 7499979 – codebox
실제 테스트는 좀 더 복잡하고 최대 절전 모드, 세션 및 sessionfactory 포함, 나는 완전한 최대 절전 모드 물건을 초기화하지 않고 dbInterface를 확인하려고합니다. 대부분의 메소드에서 객체 상태를 수정하고 실제 입/출력 기능이 없습니다. – Gobliins