标签: haskell-program-coverage

将测试覆盖率与 HPC 相结合

我发现 HPC 确实令人困惑,即使在阅读了一些解释并进行了相当多的尝试之后也是如此。

我有一个库HML,以及两个测试套件fileio-testtypes-test,使用HTF(我计划转移到tasty)。我想运行这两个测试,然后查看两个测试在库中的综合覆盖率。

目前我使用构建库

cabal configure --enable-coverage
cabal build
Run Code Online (Sandbox Code Playgroud)

并使用运行测试

cabal configure --enable-coverage --enable-tests
cabal build
cabal test

hpc report --hpc-dir dist/hpc/vanilla/mix/fileio-test dist/hpc/vanilla/tix/fileio-test/fileio-test.tix
Run Code Online (Sandbox Code Playgroud)

这向我展示了一些报道,但不是正确的。我认为它显示了覆盖率,但仅来自其中一项测试,并且还包括测试本身的覆盖率。

我尝试使用

--hpc-dir dist/hpc/vanilla/mix/HML-0.1.0.0
Run Code Online (Sandbox Code Playgroud)

但是 HPC 抱怨它找不到它需要的模块文件。我还尝试将两个测试的覆盖范围结合起来,但没有成功。

有什么指点吗?

haskell code-coverage haskell-program-coverage

7
推荐指数
1
解决办法
195
查看次数