【发布时间】:2016-08-08 21:08:06
【问题描述】:
我一直在尝试使用 Mockito 和 PowerMockito 来测试我的代码。我有类似于以下课程的东西:
public class asdfClass{
public static String methodToMock(String item, String otheritem){
return "asdf";
}
public static String methodToMock(String item){
return "asdf";
}
}
不管出于什么原因,运行以下命令:
PowerMockito.spy(asdfClass.class);
PowerMockito.when(asdfClass.methodToMock(Mockito.any())).thenReturn("asdfghj");
似乎编译正确但正在运行
PowerMockito.spy(asdfClass.class);
PowerMockito.when(asdfClass.methodToMock(Mockito.any(), Mockito.any())).thenReturn("asdfghj");
在 Mockito.any()s 上没有并吐出“此处不允许的'void'类型”错误。
有人知道该怎么办吗?我在 stackoverflow 上看到的唯一其他结果建议读者查看文档,尽管我认为它没有说明私有静态方法中的多个参数。
(最后我希望用 doNothing 来模拟一个 void 结果,尽管我已经将我遇到的问题归结为我所有的 void 方法都采用多个参数这一事实)
编辑:没关系,明白了:Is it possible to use partial mocking for private static methods in PowerMock?(对所选答案的评论 4)。奇怪的是,这以前不起作用,但据我所知,这可能是我的一个错字)
【问题讨论】:
标签: java mockito powermockito