HUnit / QuickCheck с непрерывной интеграцией

Существуют ли какие-либо расширения для HUnit или QuickCheck, которые позволяют использовать систему непрерывной интеграции, например Bamboo делать подробный отчет о результатах тестирования?

Пока что моя лучшая идея - просто запускать тесты как часть сценария сборки и полагаться на то, что тесты завершатся ошибкой с ненулевым кодом выхода. Это эффективно для привлечения внимания в случае сбоя теста, но путает сбои сборки с сбоями теста и требует просмотра вывода консоли, чтобы определить источник проблемы.

Если это лучший вариант с текущими инструментами, я думаю написать модуль отчетов для HUnit, который будет выдавать вывод в XML-формат JUnit, затем наведите на него инструмент CI, как если бы он составлял отчет о проекте Java. Однако это кажется несколько хакерским, поэтому я буду признателен за ваши мысли как о существующих вариантах, так и о направлениях новых разработок.


person acfoltzer    schedule 10.07.2011    source источник
comment
Имитация формата JUnit XML кажется довольно приличным способом получить максимальную отдачу от затрат на кодирование. Посмотрите, есть ли у HUnit уже поддержка для этого. QuickCheck немного сложнее, потому что это не совсем традиционный стиль XUnit, хотя вы, вероятно, также могли бы его использовать.   -  person Edward Z. Yang    schedule 11.07.2011


Ответы (2)


Пакет test-framework предоставляет инструменты для интеграции тестов с использованием различных парадигм тестирования, включая HUnit и QuickCheck, и его консольному средству выполнения тестов можно передать флаг, который заставляет его создавать JUnit-совместимый XML. Мы используем его с Jenkins для непрерывной интеграции.

Пример вызова:

$ ./test --jxml=test-results.xml
person j3h    schedule 11.07.2011
comment
Кстати, вам удалось также интегрировать график покрытия кода в Jenkins? - person hvr; 11.07.2011
comment
Спасибо за это! Я согласен с @hvr, что было бы очень здорово интегрировать и отчеты hpc. Это не должно быть слишком сложно с _1 _... - person acfoltzer; 11.07.2011
comment
Как мне включить --jxml в cabal install --enable-tests-вызов? - person Volker Stolz; 04.03.2014

Я только что выпустил пакет, который генерирует наборы тестов на основе модулей, содержащих свойства quickCheck: http://hackage.haskell.org/package/tasty-integrate

На данный момент это на один шаг выше test-framework / вкусный, поскольку он принудительно извлекает / объединяет их из файловой системы, вместо того, чтобы полагаться на ведение записей для каждого файла. Надеюсь, это поможет вашему процессу CI.

person John P. Feltz    schedule 02.02.2014