如果没有,它是否存在于 EasyMock 上?
谢谢。
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();