TypeMock VS JustMock(VS RhinoMock,Moq ...):2011年的现状?

时间:2011-04-22 12:32:05

标签: mocking moq typemock justmock

我几周前开始使用TDD了。我必须对一个充满非虚方法的C#代码进行单元测试,并且没有太多的接口。因此,在我研究RhinoMock和Moq之后,代理解决方案还不够:感谢分析器,我需要的是隔离。

根据我的阅读,我有3个选择:

  1. TypeMock 隔离器,非常强大但也非常昂贵 http://www.typemock.com/
  2. Telerik的
  3. JustMock ,TypeMock的替代品,旨在成为TypeMock,但测试版充满了bug http://www.telerik.com/products/mocking.aspx
  4. 来自Microsoft Pex的唯一免费解决方案
  5. Moles ,但绝对不是模拟框架,请参阅here
  6. 我需要轻松配置的模拟。 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/

3 个答案:

答案 0 :(得分:6)

[Redundant完全披露:我为Telerik工作。]

专注于JustMock,我认为您会发现最新版本是一个非常强大的模拟工具,几乎没有针对核心模拟体验的已知错误。 Telerik的方法一直专注于简化模拟(通过简单的API +与其他Telerik工具集成,如JustCode)和更易于访问(免费版+低商业许可成本)。

虽然Telerik对于模拟游戏来说相对较新,但实际上第一次能够正确地完成所有事情,实际上有利于我们的方法,没有外部模式的传统模式来混淆API或文档。

正如您所注意到的,一个关键优势是 JustMock可用于免费(用于模拟界面/委托/非虚方法)。如果您需要能够模拟需要分析器的项目,那么这是对商业版本功能的简单升级。相同的API。相同的工具。使用分析器获得更多功能。

最好的办法是尝试一下。 http://www.telerik.com/justmock

您还可以查看最近在Telerik TV上观看JustMock的录制网络研讨会,了解当前版本(2011年第1季度)的实际应用:http://tv.telerik.com/watch/telerik/test-drive-your-code-with-justmock

希望有所帮助。

答案 1 :(得分:4)

完全披露,我是Telerik的内幕消息,所以我的观点可能有点主观,但这并没有改变JustMock是一个好产品的事实。

当它是测试版时我确实使用过JustMock,并且当你认为它是有缺陷的时候,所以我当时并没有过多地关注它。但今年1月我看到了JustMock的演示,我喜欢它。我在一些宠物项目中使用它,我对它非常满意。下一步将是在生产中使用它,但我认为它不会产生任何问题。

祝你好运, 提笔

答案 2 :(得分:1)

Just Mock有两个好处,免费和付费。它们是同一种产品;免费版本内置了一些限制。虽然Just Mock确实是一款年轻的产品,但它确实背后有Telerik的全部重量。

两个版本都允许使用流畅的API。而且因为产品共享他们的代码库从免费转为付费是轻而易举的。而且,正如您将了解过去是否使用过任何Telerik的产品,他们的支持和社区论坛是首屈一指的。更重要的是,即使您只使用免费版本,社区论坛也完全可用。

- 斯图尔特