0

是否有任何自动化测试工具或框架可以测试我们的 Java 代码,而无需从开发人员的角度在测试用例中编写任何代码?

4

3 回答 3

3

有一个名为的工具javac可以对您的代码运行一些基本测试。

例如,如果您的代码缺少一个},它会告诉您。此外,它会检测您何时尝试使用错误类型的参数调用函数,或调用不存在的函数。

您可能会发现FindBugs很有用,因为它可以警告潜在的危险代码,但它有很多误报。

除此之外,您需要的是某种程序员 AI。如果计算机可以告诉您已经正确实现了代码,为什么不让计算机为您编写代码呢?

于 2012-04-14T04:36:35.963 回答
1

实际上,似乎有一些工具,但我没有使用任何工具。此外,如果您编写一些测试,您可以让PIT修改您现有的代码以发现潜在的陷阱。

于 2012-04-14T07:09:29.143 回答
1

您可以考虑使用静态代码分析工具,例如CovertyFindBugs,它们会尝试仅根据源代码查找潜在的错误,而无需实际执行它。

您还可以尝试randoop,它会自动生成随机 JUnit 测试用例(方法调用的随机序列)以查找对象契约违规。它丢弃导致非法参数异常等的方法序列,这是一个很好的积极因素。它还记得构造复杂对象的方法序列,以及导致违反合同的序列。

如果您的代码具有用 JML 编写的规范,康柏的ESC/Java可以根据这些规范验证您的代码。

于 2012-04-14T04:36:35.277 回答