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