Haskell Cabal和HPC以及在代码覆盖率下运行测试时出现的错误
我用阴谋集团来进行测试 以下是如何在Haskell Cabal和HPC以及在代码覆盖率下运行测试时出现的错误,haskell,cabal,Haskell,Cabal,我用阴谋集团来进行测试 以下是如何在.cabal文件中配置它: test-suite test type: exitcode-stdio-1.0 main-is: Test.hs build-depends: base >= 4.7 && < 4.8, containers >=0.5 && <0.6, ghc, test-framework >=0.8 &&
.cabal
文件中配置它:
test-suite test
type: exitcode-stdio-1.0
main-is: Test.hs
build-depends: base >= 4.7 && < 4.8, containers >=0.5 && <0.6, ghc, test-framework >=0.8 && <0.9, QuickCheck >=2.7 && <2.8, HUnit >=1.2 && <1.3, test-framework-hunit, test-framework-quickcheck2
default-language: Haskell2010
ghc-options: -Wall -fhpc
因此,我需要手动删除.tix
文件
有没有办法解决这个问题
顺便问一下,有没有办法让这个.tix
文件在dist
目录而不是根目录中生成
如何配置我的Cabal文件以与HPC很好地协作(即,将生成的HTML文件放在dist
目录中)
谢谢。要使
cabal
生成代码覆盖率报告,您可以在配置软件包时启用:
cabal配置--启用覆盖范围
然后像往常一样运行测试:
cabal测试
请注意,您可能需要使用较旧的
阴谋集团
启用库覆盖范围。此外,IIRChpc
在阴谋集团中的集成因ghc-7.6
而中断,我正在使用ghc 7.8.3和阴谋集团1.22.0.0
您可以通过几种方式设置.tix文件的文件路径
您是否正在使用
--启用覆盖范围?如果你没有,那么你可能应该。如果您需要,那么您就不需要-fhpc
。不,我不使用它。我刚刚尝试使用它,但出现了以下错误:cabal:无法识别的“测试”选项--在运行cabal测试时启用覆盖率--
。《阴谋集团用户指南》似乎没有说明如何使用它。你能解释一下如何使用它吗?谢谢。您应该在配置时启用该标志:cabal configure--enable converage
。然后像往常一样运行测试。谢谢。这正是我们想要的。如果你把它作为一个答案,我会接受的。启用覆盖和fhpc之间的有效区别是什么?我两者都用。这是一个问题吗?我应该如何运行我的应用程序来获取dist目录中的*.tix文件?我尝试了cabal run
,但*.tix文件是在当前目录中创建的。@antoyo tryHPCTIXFILE
环境变量。尝试cabaltest-v3
查看cabal
如何使用它。
Hpc failure: module mismatch with .tix/.mix file hash number
(perhaps remove test.tix file?)