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开发人员:)