Я новичок в Mockito и PowerMock, и у меня действительно проблемы с получением этого. Это в значительной степени ситуация у меня есть:Как издеваться и тестировать этот внутренний статический класс
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 переместили статический внутренний в другой класс в подпакет. Кроме того, я не вижу значения для проверки того, что был вызван частный метод. –