2009-02-18 18 views
14

En stackoverflow encontré mbunit. En su página se afirma que mbunit es un marco de prueba de unidades generadoras, pero no puedo encontrar en ninguna parte que describa qué es un marco de prueba de unidad generativa.¿Qué es un marco de prueba de unidad generativa?

Tenía la esperanza de conseguir:

  • Una definición
  • Los enlaces a artículos sobre lo que es un marco de pruebas unitarias generativo es y no es.

Respuesta

22

Un marco de pruebas generativas es aquel en el que el código en sí genera casos de prueba.

Normalmente escribe código para generar casos de prueba de acuerdo con uno o más supuestos que le gustaría probar.

No estoy fambiliar con MbUnit en sí, sino por ejemplo utilizando el framework de pruebas generativa Clojure test.generative puede escribir pruebas como:

(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 

Esta prueba especifica directamente la suposición de que desea probar (es decir, que la Además de dos largos siempre resulta en un entero).

Lo importante es que no tiene que especificar valles long particulares para las pruebas: el marco generará combinaciones arbitrarias de entradas y comprobará que sus afirmaciones sean verdaderas en todos los casos.

Cuestiones relacionadas