在静态方法上使用ArgumentCaptor

时间:2018-10-03 20:06:17

标签: java unit-testing mockito powermock

我正在使用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的参数做同样的事情?

0 个答案:

没有答案