Как я могу сгенерировать отчеты о покрытии HTML-кода с новым Cabal?

Бег stack test --coverage генерирует хороший HTML-отчет, показывающий, какие строки охватывает ваш набор тестов. Как я могу добиться того же, используя cabal new-test?

Я могу пройти --enable-coverage генерировать .tix файл, но я не уверен, что запустить на .tix файл для генерации отчета в формате HTML. Я уверен, что это связано hpc но я не смог выработать правильную команду.

У меня есть стандартная конфигурация Cabal моего приложения в виде библиотеки с набором тестов для этой библиотеки.

2 ответа

Похоже, это так же просто, как прохождение --enable-coverage в cabal new-test, Ранее я проводил тесты с cabal new-run test:test обойти некоторые ограничения new-test (например, не хватает потоковой передачи и цветов), поэтому исправление заключается в использовании new-test вместо new-run,

Cabal 3.6 должен уметь генерировать отчет HPC. Есть одно предостережение; эта ошибка может появиться:

      Error:
Internal libraries only supported with per-component builds.
Per-component builds were disabled because program coverage is enabled

https://github.com/haskell/cabal/issues/6440

Чтобы избежать ошибки, добавьте в cabal.project:

      package *
  coverage: True
  library-coverage: True

тогда cabal test(без --enable-coverage). Отчет должен быть где-то в dist-newstyle.

Другие вопросы по тегам