Mockitoとpowermockを使用して引数を取らないプライベートvoidメソッドをモックする必要があります。
このメソッドは、スパイであるインスタンスに属しています。
私はこれを行う必要があるという事実が悪いコードを示唆していることを知っていますが、私はユニットテストをあるテストフレームワークから別のテストフレームワークに変換する古いプロジェクトで働いています。
誰かが何か提案があればそれは大いにありがたいです。
ありがとうございました!
これまで私はこれを試しました:
PowerMockito.doNothing().when(Whitebox.invokeMethod(spy,"method",null));
しかし、私はこのエラーを受け取ります:
No method found with name 'method' with parameter types: [ <none> ]
Whitebox(Powermockに付属)は試していませんが、次のようなものを試します。
@RunWith(PowerMockRunner.class)
@PrepareForTest(MyClass.class)
public class MyClassTest {
private MyClass myClass;
@Before
public void setup() {
myClass = PowerMockito.spy(new MyClass());
PowerMockito.doNothing().when(myClass, "myPrivateMethod");
}
//Tests..
}
..私が覚えている限り..