用于.NET的自动单元测试Gen Tools

时间:2008-09-05 18:33:31

标签: .net unit-testing testing automated-tests

希望获得自动化测试工具(投票应该把好的工具带到顶端)

理想的工具:

  • 消除呈现一套的需要 值的方法。
  • 采用Interactive等技术 探索性测试所在的代码 检查以确定什么值 需要运用所有代码 路径。即,方法的单元测试由代码的复杂性决定

例如,如果方法检查整数参数是123,则至少生成2个单元测试:一个是该参数为123而另一个不是。

对于Java,我的理解是这些是一些选项,但不是.NET

  • TestGen4J
  • AgitarOne

从Microsoft Research听说过Pex - For .NET,但这是非商业许可证

由于

3 个答案:

答案 0 :(得分:3)

Pex支持参数化单元测试,并使用动态符号执行(某种自动探索性测试)来生成输入。 Pex可以理解MSIL的语义,即任何托管方法调用的语义。在'123'的例子中,Pex会找到两个测试。

它允许开发人员编写参数化单元测试 - 因此它完全符合测试优先开发风格。

对于商业软件,Pex需要MSDN许可证。有关详情,请访问http://research.microsoft.com/pex

pex开发人员:)

答案 1 :(得分:2)

我尝试过其他语言中的一些这些工具,恕我直言,他们几乎完全浪费时间。原因?他们无法以任何有意义的方式猜测方法调用的语义。有一篇关于这篇文章的非常好的文章here - 非常值得一读。

答案 2 :(得分:0)

自动生成单元测试的另一个好工具是Randoop。

Randoop适用于Java(http://mernst.github.io/randoop/)和.NET(https://github.com/abb-iss/Randoop.NET)。

Randoop在广泛使用的库中发现了以前未知的错误,包括Sun和IBM的JDK以及核心的Microsoft .NET组件。