模拟静态方法

时间:2017-10-09 18:44:14

标签: java mocking mockito

我在类中有一个静态方法。该方法不是最终的。我一直得到一个when()需要一个参数,该参数必须是'模拟方法调用'错误。以下是我的代码。

mockStatic(HomefeedExperimentUtils.class);

when(HomefeedExperimentUtils.getGroupAndActivateExperiment(
    "link_stock_signal_filter_exp")).thenReturn(
    "treatment");

我也试过了:

HomefeedExperimentUtils mock = org.mockito.Mockito.mock(HomefeedExperimentUtils.class);

when(mock.getGroupAndActivateExperiment(
    "link_stock_signal_filter_exp")).thenReturn(
    "treatment");

感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

Mockito无法执行静态模拟,使用PowerMock扩展其功能并实现这一目标。

https://github.com/powermock/powermock/wiki