我想使用powermock在类(下面的类的片段)上声明一个静态方法:
licenseId
下面列出了测试类的相关部分。在设置模拟时,如果我显式设置整数参数的值,然后使用相同的值调用,一切都按预期工作。对function1的调用返回testServiceProxy。
但是,我想要做的是返回该值,无论传递什么值的整数。为此,我注释掉第一行:
public class TestService<T> {
public static <T> TestService<T> function1(Class<T> rawType, Object id) {
并从第二行删除评论。
执行此操作后,对function1的调用将返回null。
为什么?
// PowerMockito.when(TestService.function1(Subscription.class,id)).thenReturn(testServiceProxy);
答案 0 :(得分:1)
经过进一步的工作,我逐渐明白,你不能具体说明一个值,而是指定另一个值。
此外,我需要使用Mockito类来确保调用正确的函数。
PowerMockito.when(TestService.function1(Mockito.any(Class.class), Mockito.any(String.class))).thenReturn(testServiceProxy);
此方法调用正确设置要在我的测试用例中使用的模拟。