NET的自动化单元测试Gen工具
时间:2020-03-05 18:48:25 来源:igfitidea点击:
希望我们能使用自动测试工具(投票应将优秀的工具放在首位)
理想的工具是:
- 消除了为方法提供一组值的需要。
- 采用诸如交互式探索性测试之类的技术,在其中检查代码以确定执行所有代码路径所需的值。即方法的单元测试由代码的复杂性决定
例如,如果一种方法检查整数参数为123,则将至少生成2个单元测试:一个参数为123的单元测试,另一个参数为非123的单元测试。
对于Java,我的理解是这些是一些选项,但不是.NET
- TestGen4J
- 阿吉塔
听说过Microsoft Research的Pex For .NET,但这具有非商业许可
谢谢
解决方案
回答
我用其他语言尝试了其中一些工具,恕我直言,它们几乎是在浪费时间。原因?他们无法以任何有意义的方式猜测方法调用的语义。这里有一篇很好的文章-值得一读。
回答
Pex启用参数化的单元测试,并使用动态符号执行(某种类型的自动探索性测试)来生成输入。 Pex可以理解MSIL的语义,即任何托管方法调用的语义。在" 123"示例中,Pex将找到两个测试。
它使开发人员可以编写参数化的单元测试,因此完全适合于测试优先的开发风格。
对于商业软件,Pex需要MSDN许可证。有关更多信息,请访问http://research.microsoft.com/pex
一个PEX开发人员:)