我刚开始进行测试驱动开发,想知道RhinoMock、TypeMock和NUnit内置的模拟的主要区别?
非常感谢任何信息!
我刚开始进行测试驱动开发,想知道RhinoMock、TypeMock和NUnit内置的模拟的主要区别?
非常感谢任何信息!
TypeMock是一款商业产品(意味着你需要为它付费),但它可以模拟具体对象,而不像RhinoMocks/NUnit/MoQ只能模拟接口/抽象类。它是如何实现的边界黑魔法,但它在CLR上做了一些非常聪明的事情。
当你在项目中使用不太多用接口的库时,这特别有用。例如,你可以使用TypeMock来模拟一个LINQtoSQL数据上下文或Sharepoint对象。但是,如果你在使用TypeMock时仍然应该注意好的应用程序设计。
据我所知,除了少量语法差异外,大多数模拟框架已经摒弃了旧的记录/回放模式。通常,你可以通过编写期望的流畅接口来设置模拟。
个人而言,我只使用过MoQ并且非常喜欢它。