HUnit/QuickCheck с непрерывной интеграцией
Существуют ли какие-либо расширения для HUnit или QuickCheck, которые позволяют использовать систему непрерывной интеграции, такую как Bamboo для подробного отчета о результатах тестирования?
До сих пор моя лучшая идея - просто запустить тесты как часть сборки script и полагаться на тесты с ошибкой с ненулевым кодом выхода. Это эффективно для того, чтобы привлечь внимание, когда тест не удался, но сбивает сбои сборки с ошибками тестирования и требует прохождения через консольный вывод для определения источника проблемы.
Если это лучший вариант с текущими инструментами, я решил написать модуль отчетности для HUnit, который будет выводить результат в формате JUnit XML, затем наведите на него инструмент CI, как если бы он сообщал о проекте Java. Однако это кажется несколько хакерским, поэтому я буду благодарен за ваши мысли как от существующих вариантов, так и от направления новой разработки.
Ответы
Ответ 1
Пакет тестовых фреймов предоставляет инструменты для интеграции тестов с использованием различных парадигм тестирования, включая HUnit и QuickCheck, а его консольный тестовый бегун может быть передан флаг, который заставляет его создавать JUnit-совместимый XML. Мы используем его с Дженкинсом для непрерывной интеграции.
Пример вызова:
$ ./test --jxml=test-results.xml
Ответ 2
Я только что выпустил пакет, который генерирует тестовые пакеты на основе модулей, содержащих свойства QuickCheck: http://hackage.haskell.org/package/tasty-integrate
Это на один шаг выше тестовой рамки/вкусно на данный момент, так как она принудительно вытягивает/сводит их с файловой системы, вместо того, чтобы полагаться на запись в каждом файле. Надеюсь, это поможет вашему процессу CI.