1 つの static void メソッドをモックしようとしています。PowerMock を試しましたが、常に NullPointer 例外が発生します。
以下の呼び出しをモックしようとしています -
public Class XYZ{
public void method1(){
....
SampleClass.methodTypeStatic1().methodTypeStatic2("xyz", "mno", classVeriable);
}
そして、メインクラスは -
public class SampleClass implements SampleClassParent{
private static SampleClass var1;
public static SampleClass methodTypeStatic1(){
if (var1 == null) {
//Do something on var1
}
return var1;
}
public void methodTypeStatic2(String localVar1, String localVar2, DifferentStaticClass localVar3) {
//Do something
}}
私のテストクラスでこのように呼び出しをモックしようとしています -
@RunWith(PowerMockRunner.class)
@PrepareForTest({SampleClass.class})
public class XYZTest{
@InjectMocks
XYZ xyzTestService;
@Test
public void testMethod1(){
...
PowerMockito.mockStatic(SampleClass.class);
PowerMockito.doNothing().when(SampleClass.methodTypeStatic1());
xyzTestService.method1();
}
また、SampleClass.class はコードの一部ではないことに注意してください。この外部クラスをコード ベースにインポートして、何らかのタスクを実行しました。