需要更改从模拟静态方法返回的值

时间:2019-10-04 19:19:46

标签: java powermock

我有一个带有静态方法的实用程序类,如下所示:

public class Utils
{
  public static String DoSomething(String input)
  {
    String result = null;
    // code does something and puts a value in the result string
    return result;
  }
}

在一个测试用例中,我按如下方式模拟该类:

PowerMockito.mockStatic(Utils.class);
when(Utils.doSomething(Mockito.anyString())).thenReturn("SUCCESS");

不幸的是,我需要方法为其中一项测试返回不同的值。我在测试中添加了这一行:

when(Utils.doSomething(Mockito.anyString())).thenReturn("FAILURE");

但是当我尝试运行此命令时,它将覆盖所有其他测试的方法返回。

更改参数匹配器没有帮助,因为测试之间的参数相同。

我是否可以告诉PowerMock让该方法为除一个测试之外的所有测试返回相同的值?

0 个答案:

没有答案