有没有类似TypeMock的开源模拟框架?

时间:2009-10-07 20:51:30

标签: .net unit-testing tdd rhino-mocks moq

对于像我这样的爱好者来说,TypeMock太贵了。)

Moq或RhinoMocks的下一个版本没有计划收听分析API,为什么会这样?

编辑:启用以下功能:

  • 模拟非虚方法和 属性(!)。
  • 模拟浏览器 环境。
  • 更简单的语法 不那么脆弱(而且不必去 通过模拟对象)。
  • 模拟静态方法 有时很有用(主要是在遗留场景中,涉及可怕的DateTime.Now)。
  • more ..

8 个答案:

答案 0 :(得分:11)

  

TypeMock太贵了   像我这样的爱好者

开发和免费发布可能也太昂贵了。

答案 1 :(得分:11)

声明我在Typemock工作。

我会尽力回答你的问题:

  

有没有任何开源嘲笑   框架类似于TypeMock?

使用探查器API的唯一其他框架是(商业)JustMock。

  

Moq或下一版RhinoMocks   没有计划听取   剖析API,为什么会这样?

我认为这是一种物质意识形态。 Ayende创建者Rhino mocks和Kzu moq的创建者相信可测试性的设计,并且模拟框架应该帮助您实现这种设计,因此即使它很容易也不会实现Isolator的功能。

  

TypeMock太贵了   像我这样的爱好者

如果您在家工作,您可以购买更便宜的个人许可证(我不想在此处发布隔离器购买页面的链接,但我相信您可以找到它。)

希望它有所帮助。

答案 2 :(得分:5)

如果您正在使用开源,则可以获得free license of Typemock Isolator(但仅限于此用途)。

答案 3 :(得分:4)

  

Moq或下一版RhinoMocks没有听取计划   对于分析API,为什么会这样?

因为它非常非常很难,需要一点C++ knowledge

答案 4 :(得分:1)

因为TypeMock仅在您测试未考虑可测试性的代码时才有用。有一组有限的情况,这是有用的,通常可以解决。

简而言之, TypeMock对于

的程序员非常有用
  • 没有多少经验 使用TDD 并且还没有弄清楚如何编写可测试性代码
  • 有很多遗留代码撒谎 需要进行测试 灯具绑在上面

这使得这对于那些需要此功能的人来说非常有价值,但对于免费软件而言,成本与社区效益相比非常低。

答案 5 :(得分:1)

结帐http://beanproxy.codeplex.com/。这是我一直在开发的工具。它还不允许非虚拟代理(除了抽象和接口),它不支持实时对象(代理活动对象)。但是,它是免费和开源的。它非常易于使用且仍在开发中(有计划支持非虚拟和实时对象)。

答案 6 :(得分:0)

gkdm问我如何计划为静态和活动对象添加代理支持http://beanproxy.codeplex.com/,我的答案是我不知道如何。我研究了各种各样的想法;没有一个成功。我最接近的解决方案是创建一个分析库,但这需要测试人员将我的库作为分析器运行,而她不能只用她的测试运行我的库。我花了几天时间阅读和测试想法,没有任何效果。我已经放弃了搜索,但如果有人有任何想法,我会再次接受这些想法。 Beanproxy仍然是许多开发人员使用的一个很好的工具。如果您对beanproxy有任何特定需求或顾虑,请使用codeplex上的问题和讨论选项卡。我总是希望改进它。

答案 7 :(得分:0)

我理解这个问题适用于.NET世界,但是如果有人想知道Java世界中存在什么,我可以说答案是“是的,有”。

JMockit工具包是开源的(MIT许可证),除非我遗漏了某些东西,否则它比TypeMock更强大。 (具体来说,我在TypeMock中看不到任何与JMockit中@Capturing注释提供的功能相同的内容。)