我想知道是否有任何工具可以根据方法的前置条件和后置条件(以及类不变量)自动生成单元测试。
准确地说,假设我们给定了方法的前置条件和后置条件(可能还有类不变量),并且我们希望基于该信息生成单元测试。为此,我正在寻找一种实用的工具。
我知道 Korat 和 TestWizard。您能否再列举一些技术/工具?
PS:编程语言,或者我们指定方法契约使用的语言,并不那么重要。我只是想了解技术。
谢谢你。
我想知道是否有任何工具可以根据方法的前置条件和后置条件(以及类不变量)自动生成单元测试。
准确地说,假设我们给定了方法的前置条件和后置条件(可能还有类不变量),并且我们希望基于该信息生成单元测试。为此,我正在寻找一种实用的工具。
我知道 Korat 和 TestWizard。您能否再列举一些技术/工具?
PS:编程语言,或者我们指定方法契约使用的语言,并不那么重要。我只是想了解技术。
谢谢你。
Randoop 就是这样做的。它的手册告诉你如何指定前置条件和后置条件。
在评论中,您区分了“生成”和“引导”;我不确定您的确切意思,但您可能会将 Randoop 视为使用规范作为指导。
该领域的一项研究活动于 2005-2011 年在 ETH 进行,以制作“基于合约的随机测试工具”,即AutoTest。它是为Eiffel开发的,其中前置条件、后置条件和类不变量是语言的一部分。该工具使用它们作为规范来自动生成测试。该工具与 EiffelStudio 开发环境集成,在该环境中它使用合同进行 3 种测试: