Что такое основа модульного тестирования?
На stackru я наткнулся на mbunit. На его странице говорится, что mbunit является структурой генеративного модульного тестирования, но я не могу найти нигде, описывающей, что такое среда генеративных модульных тестов.
Я надеялся получить:
- Определение
- Ссылки на статьи о том, что такое инфраструктура Generative Unit Test, а что нет.
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
Вале для тестирования - сама структура будет генерировать произвольные комбинации входных данных и проверять, что ваши утверждения верны в каждом случае.