私は 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;
}
})
}
}
}
これで最初のメソッドの仕事ができると思います....おそらく、一部のオブジェクトがスーパークラスに設定されており、nullではないことを確認することもできます。それで問題ありませんか?
@Mock
Object1 o1;
@Mock
Object2 o2;
public void test() {
B b = new B(o1, o2);
PowerMockito.verifyPrivate(b).invoke("setInSuperClass", 1 , o1);
}
しかし、doSomethingWithInnerClass を最適にテストする方法 ??? つまり、それが呼び出されたことを確認できることはわかっています....しかし、この匿名クラスの引数をテストしたいと思います。アドバイスありがとうございます、ありがとう