在Brownfield开发中工作时,TypeMock是唯一的解决方案吗?

时间:2012-07-27 02:16:04

标签: tdd nunit moq typemock

我正在开始一个维护项目,我需要使用遗留代码并创建新代码。新的我可以创建适当的基于接口的开发,我可以使用Moq进行适当的单元测试。我不能将Moq用于遗留代码,因为他们没有适当的编码来模拟对象。根据阅读,Typemock看起来非常合适,因为我可以隔离对象并在遗留对象上调用方法时返回我们想要的内容。我非常喜欢简单易用的开发。我想知道是否还有其他工具,比如Typemock我应该在提交之前查看,因为我必须付钱。

谢谢

PS:我们是微软的商店,我们使用C#/ ASP / ASp.Net / Silverlight和VB.Net

**我刚刚发现Infragistics也有一个模拟工具。

1 个答案:

答案 0 :(得分:5)

您正在寻找的是使用Profiler API的模拟框架。这些是可以“模拟任何东西”的,因为它们会在被测试的代码“下面”运行。

在考虑其中一项时,你会想到这样的事情:

  • 集成支持:它是否适用于您正在使用的工具?例如,你的构建服务器,覆盖工具,单元测试工具等。它附带的任何其他工具(例如,Visual Studio插件)可能会帮助你使用它吗?
  • 技术支持:如果出现问题或者您发现产品中存在错误,是否可以向某人询问相关信息?
  • 语法/模式:它是否支持AAA测试,还是只记录/重放?开始使用它有多容易?
  • 社区和学习资源:文档怎么样?是否有人可以回答您更常见的使用问题,或者您“独自一人?”

我知道有三个主要的模拟框架需要考虑:

完全披露:我是一个Typemock MVP,我一直在使用Isolator。到目前为止,它一直非常值得用金,特别是在Brownfield开发中。我会承认,在某些情况下,更多的是Greenfield,我使用的是Rhino或Moq。这实际上取决于我在做什么。

无论如何,我建议您自己评估每个工具,看看哪种工具在您的环境中效果最佳。请务必了解它的集成方式,开始时的容易程度等等,然后根据您在设置中的体验做出决定。