当前位置:  开发笔记 > 编程语言 > 正文

什么是生成单元测试框架?

如何解决《什么是生成单元测试框架?》经验,为你挑选了1个好方法。

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

我希望得到:

一个定义

关于生成单元测试框架是什么和不是什么的文章的链接.

mikera.. 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总是产生整数).

重要的是,您不必指定特定的longvales进行测试 - 框架本身将生成任意输入组合,并检查您的断言在每种情况下都适用.



1> mikera..:

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

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

我对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总是产生整数).

重要的是,您不必指定特定的longvales进行测试 - 框架本身将生成任意输入组合,并检查您的断言在每种情况下都适用.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有