Dan*_*ard 19 nunit unit-testing rhino-mocks typemock mocking
我刚开始做测试驱动开发,我想知道RhinoMock,TypeMock和NUnit的内置模拟之间的主要区别?
任何信息将不胜感激!
Kir*_*ein 37
TypeMock是一个商业产品(意味着你将不得不为此付费),但允许你模拟具体的对象 - 不像RhinoMocks/NUnit/MoQ,它只能模拟一个接口/抽象类.如何实现这一点是临界黑魔法,但它使用CLR做了一些非常聪明的事情.
当您在项目中使用不使用许多接口的库时,这可能特别有用.例如,您可以使用TypeMock模拟LINQtoSQL datacontext或Sharepoint对象.但是,如果您使用TypeMock,这不是您的应用程序中的错误设计的借口.
据我所知,除了较小的语法差异外,大多数模拟框架已经远离旧的记录/回放模型.通常,您通过使用Fluent界面编写期望来设置模拟.
就个人而言,我只使用过MoQ而我<3.
Dal*_*gan 19
一个名为TDD的视频- 了解 Roy Osherove的模拟对象非常有助于学习不同模拟库的差异.他没有详细介绍每个方面,但足以让你理解.我希望这有帮助.Roy也是TypeMock的首席架构师,在单元测试领域是一位非常有影响力的人物.我不能推荐这个视频,对于那些想要学习如何使用模拟并了解库的可用性的人来说.
TypeMock和开源库之间的主要区别在于TypeMock使用Microsoft提供的Profiler API而不是动态代理.这允许TypeMock模拟具体类和静态方法.如果您不确定分析器是什么,它与JetBrain的dotTrace和RedGate的Ants .Net分析器等工具使用的API相同.TypeMock只是以不同的方式使用API伪造(模拟)你告诉它的内容.
@RichardOD,感谢提醒,他的书" 单元测试的艺术 "详细介绍了视频没有的地方.我拥有这本书,它非常有用.
Geo*_*uer 14
我没有与这些人有任何亲身经历,但......
| 归档时间: |
|
| 查看次数: |
13686 次 |
| 最近记录: |