14

在stackoverflow上我遇到了mbunit。在其页面上,它指出 mbunit 是一个生成单元测试框架,但我找不到任何描述生成单元测试框架的地方。

我希望得到:

  • 定义
  • 有关生成单元测试框架是什么和不是什么的文章的链接。
4

1 回答 1

22

生成测试框架是代码本身生成测试用例的框架。

通常,您编写代码以根据您想要测试的一个或多个假设来生成测试用例。

我不熟悉 mbunit 本身,但例如使用 Clojure 生成测试框架test.generation你可以编写如下测试:

(defspec integers-closed-over-addition
  (fn [a b] (+' a b))                    ;; input fn
  [^long a ^long b]                      ;; input spec
  (assert (integer? %)))                 ;; 0 or more validator forms

该测试直接指定了您要测试的假设(即两个长整数相加总是产生一个整数)。

重要的一点是您不必long为测试指定特定的值 - 框架本身将生成任意输入组合并检查您的断言在每种情况下是否成立。

于 2012-08-09T03:56:38.767 回答