저는 Mockito와 PowerMock에 익숙하지 않으며이 문제를 해결하는 데 정말로 문제가 있습니다. 나는 어쩌면 내가 일부 개체는 슈퍼 클래스에 설정되어 있는지 확인 할 수 있으며 더 이상 null이 아니고, 그 ....이 첫 번째 방법을위한 일을 할 것 같아요이 내부 정적 클래스를 모의하고 테스트하는 방법
class A {
static class B {
public class B(Object1 o1, Object2 o2) {
setInSuperClass(o1); // this is private method...
doSomethingWithInnerClass (new Object3() {
@Override
public void retreat() {
someVar = new Object5(o2); // someVar is from superclass and is private, I know I can get it with PowerMock
}
@Override
public boolean doSomething(){
return true;
}
})
}
}
}
: 이것은 내가 가지고 꽤 많은 상황 괜찮을까요?
@Mock
Object1 o1;
@Mock
Object2 o2;
public void test() {
B b = new B(o1, o2);
PowerMockito.verifyPrivate(b).invoke("setInSuperClass", 1 , o1);
}
그러나 doSomethingWithInnerClass를 가장 잘 테스트하는 방법 ??? 제 말은, 제가 그것이 ....라고 불렀음을 증명할 수 있다는 것을 압니다.하지만이 익명의 클래스 인자는 제가 테스트하고 싶습니다. 조언을 주셔서 감사합니다. Thanx
클래스 코드가 컴파일되지 않습니다. –
@JBNizet, 지금 코드에 액세스 할 권한이 없습니다. 일부 타이포가있을 수 있지만 문제의 일반적인 설명입니다. – Julia
클래스 I 소유자는 정적 내부를 하위 패키지의 다른 클래스로 이동합니다. 뿐만 아니라 개인 메서드가 호출되었는지 테스트 할 값이 표시되지 않습니다. –