小智 14
我来自Typemock,我不会解决"太强大"的评论(虽然我不能理解为什么人们不想使用最好的工具).
以下是Typemock Isolator的工作原理.你有没有用过性能分析器?隔离器是一个剖析器.它挂钩到CLR并在测试运行时间内改变方法.当一个方法获得JIT时,它会改变它,所以当方法运行时,在执行原始代码之前,它会问:我应该按照原来的意图运行它,如果没有,我该怎么办?而且由于这种特定的技术,它可以模拟任何.Net方法和技术.而已.
当您使用API设置行为时,问题的答案现在变得有趣,并且在运行时更改该方法的行为.简单,但在幕后它是很多工作:)
Isolator附带一个VS AddIn,可以在VS中无缝运行测试,并使用命令行工具和MSBuild或NAnt任务在构建服务器中使用.
我很乐意回答您的任何其他问题.
根据该网站,它使用AOP重定向呼叫:
Typemock Isolator使用面向方面的技术来重定向来自真实代码的调用.这使开发人员能够定义测试方案所需的外部组件的行为.例如,通过指示Typemock Isolator在写入数据库时抛出OutOfDiskSpaceException,可以在写入数据库时模拟磁盘已满.如果没有Typemock Isolator,这种情况几乎不可能进行测试.开发人员定义实际单元测试中的行为,Typemock Isolator自动隔离所有必需的组件.
此技术要求您在运行测试或使用VS插件之前设置特殊环境.
有些人认为模仿一切的能力使得Typemock 过于强大,因为你不必过多考虑好的设计.艾恩德的一句话:
类型模拟的主要弱点是它的力量,它允许我采取我不想采取的捷径,我想得到一个低耦合和高内聚的系统.
但当然,因为他是犀牛模拟的创造者,他不客观:)
如果你想用这个功能创建一个模拟框架,我认为你有大量的工作,所以我建议购买Typemock,或者学习没有它的代码:)
归档时间: |
|
查看次数: |
3703 次 |
最近记录: |