我正在使用Mockito和PowerMock进行单元测试。我正在测试一种看起来像这样的方法:
public void underTest(MyClass obj, int num) {
String arg = "";
if (obj.conditionIsTrue(num)) {
arg = "foo";
} else {
arg = "bar";
}
StaticClass.staticMethod(arg);
}
我想验证staticMethod()
的参数,但是我不确定该怎么做。当我有一个实际的模拟对象可以工作时,我知道如何使用ArgumentCaptor
:
@Mock private MyClass mockObject;
@Captor ArgumentCaptor<MyClass> captor;
@Test
public void Test1() {
underTest(mockObject, 1);
verify(mockObject).conditionIsTrue(captor.capture());
assertEquals(1, captor.getValue());
}
但是我该如何对staticMethod
的参数做同样的事情?