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.