在stackoverflow上我遇到了mbunit。在其页面上,它指出mbunit是一个生成单元测试框架,但我找不到任何描述生成单元测试框架的地方。
我希望得到:
答案 0 :(得分:22)
生成测试框架是代码本身生成测试用例的框架。
通常,您根据要测试的一个或多个假设编写代码来生成测试用例。
我对mbunit本身并不熟悉,但是例如使用Clojure生成测试框架test.generative,您可以编写如下测试:
(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总是产生整数)。
重要的一点是,您不必指定特定的long
值来进行测试 - 框架本身将生成任意输入组合,并检查您的断言在每种情况下都适用。