【发布时间】:2010-10-13 03:49:30
【问题描述】:
有很多针对 .Net 的模拟框架。没有明确的赢家在各个方面都取代了其他人。领先的模拟框架也有许多不同的风格。
学习所有模拟框架所需的时间足以决定使用哪个是不合理的。我认为我们还没有达到可以谈论最好的模拟框架的阶段。那么我应该问关于项目和我自己的哪些问题,以帮助决定在特定情况下使用的最佳模拟框架?
了解您选择当前使用的模拟框架的原因以及您是否仍然满意该选择也很有用。
在比较模拟框架的风格时,是否有有用的词汇可供使用?
(注意:我将这个问题限制在.Net,因为Java没有属性或lambda表达式,所以我希望模拟框架对.Net比Java更好)
到目前为止的总结:
- 如果你需要模拟静态方法,或者 没有虚拟方法,然后是唯一的 合理的选择是TypeMock,但它不是免费的,也不会驱使您走向好的设计。
- Rhino Mocks 是一个很好的选择,如果你 正在做 TDD,例如你的对象 希望模拟实现接口。目前它似乎是“市场领导者”
- Moq (introduction) 如果你是 使用 .NET 3.5 Moq 可能在新项目中使用 Rhino Mocks
我从这个摘要中遗漏了什么?
如果您使用的是 .NET 3.5,那么是什么促使您在 Rhino Mocks 和 Moq 之间做出选择?
另见:
- What C# mocking framework to use?
- What are the capabilities of Moq and Rhino.mocks?
- What are the real-world pros and cons of each of the major mocking frameworks?
“What should I consider when choosing a dependency injection framework for .NET?”可能也很有趣,因为它问的是问题的“另一面”。
【问题讨论】:
-
有人试过 Telik 的 JustMock telerik.com/products/mocking.aspx 吗?
标签: .net unit-testing tdd mocking