5

如果没有,它是否存在于 EasyMock 上?

谢谢。

4

1 回答 1

9

PowerMock旨在作为 EasyMock 和 Mockito 的扩展。从马的口中说:“PowerMock是一个框架,扩展了EasyMock等其他mock库,功能更强大。”

在任何情况下,都没有与 expectNew 等效的 EasyMock,在 Mockito 中也没有 - 这正是 PowerMock 试图填补的漏洞。话虽如此,PowerMock 完全有能力使用 Mockito 做到这一点。这是文档中的示例:

如何模拟新对象的构造

使用 PowerMockito.whenNew,例如

whenNew(MyClass.class).withNoArguments().thenThrow(new
IOException("error message")); 

请注意,您必须准备创建 MyClass 新实例以进行测试的类,而不是 MyClass 本身。例如,如果执行 new MyClass() 的类称为 X,那么您必须执行 @PrepareForTest(X.class) 才能使 whenNew 工作。

如何验证新对象的构造 使用 PowerMockito.verifyNew,例如

verifyNew(MyClass.class).withNoArguments();
于 2011-09-14T16:07:36.280 回答