希望获得自动化测试工具(投票应该把好的工具带到顶端)
理想的工具:
例如,如果方法检查整数参数是123,则至少生成2个单元测试:一个是该参数为123而另一个不是。
对于Java,我的理解是这些是一些选项,但不是.NET
从Microsoft Research听说过Pex - For .NET,但这是非商业许可证
由于
答案 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组件。