Я сталкиваюсь с некоторыми проблемами при составлении отчетов о сбоях с использованием инфраструктуры тестирования clojure.test.
Теперь я понимаю, что могу переопределить некоторые функции для разных отчетов, чтобы они распечатывались на консоли или там, где я хочу их печатать.Я также понимаю, что могу сохранить этот вывод в файл.
Моя проблема заключается в следующем ... когда я объявляю deftest, как в этом примере:
(deftest test1
(is (= 1 1)
(is (= 2 1))
Этот тест запустится, и если я сделаю что-то вроде (run-tests)
или (test-var #'test1)
он вернет ноль, но напечатает сбоев.
Я решил переопределить метод: fail для создания отчетов, потому что мне нужна картаиз сбоев, подобных этому: {"expected" (:expected m), "actual" (:actual m)}
, и это своего рода работает, если бы я просто использовал функцию отчетности.
Проблема в том, что при запуске тестов через платформу Clojure.test есть много макросов, которые получаютвызвал, и он не ведет себя точно так, как я хочу.
Моя конечная цель: запустить тесты и, если есть какие-либо сбои, вместо их печати, сохранить их на карту и вернуть картумне.Если они все пройдут, мне все равно, что мне вернется.
Возможно ли это?Я не хочу прекращать тестирование, если какой-то тест не пройден, я просто хочу, чтобы он где-то был записан, предпочтительно карта.
Источники:
Тест Clojure смножественные утверждения
https://clojure.github.io/clojure/branch-1.1.x/clojure.test-api.html
https://groups.google.com/forum/#!topic/clojure/vCjso96wqps