use*_*332 5 testing unit-testing easymock mockito
我正在学习EasyMock和Mockito的测试.他们之间有什么区别?它们中的任何一个的优点和缺点是什么?哪一个更好用?
Rah*_*thi 11
虽然这个问题主要基于意见,但你从这里得到的差异:
差异:
- 没有录制/重播模式 - 不需要它们.你可以用Mockito模拟器做两件事 - 验证或存根.然后在执行和验证之前进行存根.
- 所有的模拟都很"漂亮"(甚至更好,因为集合返回方法返回空集合而不是空值).即使模拟很好,您也可以根据需要严格验证它们
并检测任何不需要的交互.- 显式语言以提高可读性:verify()和when()VS expect(mock.foo())和mock.foo()的混合(没有'expect'的普通方法调用).我相信你们中的一些人会发现这个论点是主观的:)
- 简化的存根模型 - 无论调用多少次,存根方法都会使用存根值重放.与EasyMock的andStubReturn()和StubThrow()完全相同.此外,您可以使用不同参数的不同返回值存根(例如在EasyMock中).
- 对存根方法的验证是可选的,因为通常更重要的是测试存根值是否正确使用而不是它来自何处.
- 验证是明确的 - 验证错误指向代码行,显示哪些交互失败.按顺序验证是灵活的,不需要验证每一次交互.
- 自定义参数匹配器使用hamcrest匹配器,因此您可以使用现有的hamcrest匹配器.(EasyMock也可以与hamcrest集成,虽然它不是EasyMock的一部分而是hamcrest.请参阅hamcrest的
文档).
| 归档时间: |
|
| 查看次数: |
10465 次 |
| 最近记录: |