【发布时间】:2021-04-22 17:52:20
【问题描述】:
尽管关注了多种不同的资源,但我无法让 PowerMock whenNew 工作。这是我的例子:
public class MyClass {
public void foo() {
Point p = new Point(2, 3);
System.out.println(p);
}
}
我正在尝试将构造函数模拟为 Point 以喜欢这样:
@RunWith(PowerMockRunner.class)
@PrepareForTest({MyClass.class})
public class MyClassTest {
public void testFoo() {
MyClass c = new MyClass();
PowerMockito.whenNew(Point.class).withAnyArguments().thenReturn(new Point(0, 0));
c.foo() // Still (2, 3) is printed instead of the mocked (0, 0)
}
}
我在这里做错了吗?我应该提到我在 gradle 项目中使用 PowerMock。这似乎与https://automationrhapsody.com/mock-new-object-creation-powermock/ 相同,所以我不确定为什么它对我不起作用。
【问题讨论】:
标签: java mocking mockito powermock powermockito