Un quadro di test generativo è uno in cui il codice stesso genera casi di test.
In genere si scrive codice per generare casi di test in base a una o più ipotesi che si desidera testare.
Non sto fambiliar con MbUnit in sé, ma per esempio utilizzando il framework di test generativa Clojure test.generative è possibile scrivere test come:
(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
Questa prova specifica direttamente l'ipotesi che si desidera testare (vale a dire che la l'aggiunta di due lunghi produce sempre un numero intero).
Il punto importante è che non è necessario specificare particolari valute long
per il test: il framework stesso genera combinazioni arbitrarie di input e verifica che le asserzioni siano valide in ogni caso.