Я хочу сгенерировать отчет о покрытии кода с помощью Stack. Я бег прикажите составляет (опуская ключи, передаваемых для тестирования набора через --test-arguments
):Создать отчет о покрытии с помощью стека
$ stack test --coverage
Это выполняет тестирование и затем выводит следующее:
Error: The coverage report for myproject's test-suite "tests" did not consider any code. One possible cause of this is if your test-suite builds the library code (see stack issue #1008). It may also indicate a bug in stack or the hpc program. Please report this issue if you think your coverage report should have meaningful results.
Я думаю, что он должен (это создает пустое отчет). Параметры GHC идентичны для всех компонентов моего пакета. Нет необходимости в наборе тестов для перестройки библиотеки . В конце концов, если Cabal может сгенерировать отчет, Stack должен быть способен сделать это, учитывая ту же конфигурацию Cabal или я ошибаюсь?
Я открыл an issue on Стек GitHub repo как предложено.
Через некоторое время я решил создать хороший старый песочницу и генерировать отчет используя Cabal вместо (мне действительно нужно, чтобы увидеть отчет, вы знаете). Он работал ранее, но теперь я получаю:
$ cabal sandbox init
… <everything OK>
$ cabal update
… <everything OK>
$ cabal install --only-dependencies --enable-tests
… <everything OK>
$ cabal configure --enable-tests --enable-coverage
… <everything OK>
$ cabal build
… <everything OK>
$ cabal test
Running 2 test suites...
Test suite tests: RUNNING...
Test suite tests: PASS
Test suite logged to: dist/test/myproject-0.1.0-tests.log
hpc: can not find HUnit_DDLSMCRs3jyLBDbJPCH01j/Test.HUnit.Lang in ["./.hpc","./dist/hpc/vanilla/mix/myproject-0.1.0","./dist/hpc/vanilla/mix/tests"]
Что? Я этого никогда не видел, хотя раньше я писал много сообщений . Кто-то там просто решил, что я не получу этот отчет сегодня, кажется, .
Вы знаете, как создать отчет о покрытии, используя стек? У кого-нибудь преуспел в этом?
Какую версию 'stack' вы используете? Последняя версия работает лучше с 'hpc'. Я использую '0.1.6.0', и он работает в основном. – Yuras
Также см. Https://github.com/commercialhaskell/stack/issues/1181 – Yuras
@Yuras, 'stack -version' →' Версия 0.1.6.0, Git-версия e22271f5ce9afa2cb5be3bad9cafa392c623f85c (2313 коммитов) x86_64'. – Mark