Среда генеративного тестирования - это та, в которой сам код создает тестовые случаи .
Как правило, вы пишете код для генерации тестовых случаев в соответствии с одним или несколькими предположениями, которые вы хотели бы проверить.
Я не знаком с самим 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
значения для тестирования - сама структура генерирует произвольные комбинации входных данных и проверяет, верны ли ваши утверждения в каждом случае.