我几周前就开始了 TDD。我必须对充满非虚拟方法的 C# 代码进行单元测试,并且也没有太多接口。因此,在我研究了 RhinoMock 和 Moq 之后,代理解决方案是不够的:我需要的是隔离,这要归功于分析器。
根据我的阅读,我有 3 个选择:
- TypeMock Isolator,非常强大但也非常昂贵
http://www.typemock.com/ - Telerik 的JustMock,旨在成为 TypeMock 的 TypeMock 的替代品,但测试版充满了错误
http://www.telerik.com/products/mocking.aspx - 来自 Microsoft Pex 的Moles,唯一的免费隔离解决方案,但绝对不是模拟框架,请参见此处
我需要易于配置的模拟。Moles 不提供高级的声明式验证功能,自己做这件事很痛苦。
TypeMock 是一个很好的解决方案,但对于我真正需要的东西来说肯定有点多,而且我发现价格太高了。
JustMock 应该得到一些同意,但我没有找到很多参考资料。很遗憾,它的语法接近Moq,它应该是一个很好的过渡(我可以切换到具有更简洁代码的免费版本,例如,由于依赖注入)。但 TypeMock 于 2006 年推出,而 Justmock 在 2010 年仍处于测试阶段,存在明显的差距(尽管 Telerik 有很好的成绩)。第二季度修复错误于 2010 年 7 月发布。
问题: JustMock 的最新版本是否足够有效?他们是一些满意的用户吗?
(仅适用于接口/委托/非虚拟方法的良好免费参考:)
见http://www.ayende.com/projects/rhino-mocks.aspx
见http://code.google.com/p/moq/
见http://www.nmock.org/