有没有Mockito等效的方式来期待像PowerMock.expectNew这样的构造函数调用?

时间:2011-09-14 13:10:19

标签: mockito easymock powermock

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

感谢。

1 个答案:

答案 0 :(得分:9)

PowerMock旨在作为EasyMock和Mockito的扩展。从马的口中说:“PowerMock是一个扩展其他模拟库的框架,例如EasyMock,具有更强大的功能。”

在任何情况下,没有EasyMock等同于expectNew,Mockito中也没有一个 - 这正是PowerMock试图填补的漏洞。话虽如此,PowerMock完全有能力与Mockito合作。以下是the documentation的示例:

  

如何模拟新对象的构建

     

使用PowerMockito.whenNew,例如

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

请注意,您必须准备课程   为测试创建MyClass的新实例,而不是MyClass本身。   例如。如果执行新MyClass()的类被称为X,那么你必须这样做   做@PrepareForTest(X.class)以便whenNew工作。

     

如何验证新对象的构建   使用PowerMockito.verifyNew,   e.g。

verifyNew(MyClass.class).withNoArguments();