是否有任何自动化测试工具或框架可以测试我们的Java代码,而无需在开发人员视图的测试用例中编写任何代码?
答案 0 :(得分:3)
有一个名为javac
的工具会对您的代码进行一些基本测试。
例如,如果您的代码缺少}
,它会告诉您。此外,它会检测您何时尝试使用错误类型的参数调用函数,或者调用不存在的函数。
您可能会发现FindBugs有用,因为它可以警告可能存在危险的代码,但它有很多误报。
除此之外,你要求的是某种程序员AI。如果计算机可以告诉您已正确实现了代码,为什么不让计算机为您编写代码?
答案 1 :(得分:1)
您可以考虑使用静态代码分析工具,例如Coverty或FindBugs,它们会尝试根据源代码查找潜在的错误,而不会实际执行它。
您还可以尝试randoop,它会自动生成随机JUnit测试用例(方法调用的随机序列),以查找对象合同违规。它丢弃导致非法参数异常等的方法序列,这是一个很好的积极因素。它还会记住构造复杂对象的方法序列,以及导致合同违规的序列。
如果您的代码具有用JML编写的规范,Compaq的ESC/Java可以验证您的代码。
答案 2 :(得分:1)