Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 使用堆栈生成覆盖率报告_Haskell_Testing_Code Coverage_Haskell Stack - Fatal编程技术网

Haskell 使用堆栈生成覆盖率报告

Haskell 使用堆栈生成覆盖率报告,haskell,testing,code-coverage,haskell-stack,Haskell,Testing,Code Coverage,Haskell Stack,我想使用堆栈生成代码覆盖率报告。我运行命令 总计(忽略通过--测试参数传递给测试套件的选项): 这将执行测试,然后输出以下内容: 错误:myproject的测试套件“测试”的覆盖率报告不存在 考虑任何代码。造成这种情况的一个可能原因是您的测试套件是否构建了 库代码(参见堆栈问题#1008)。它也可能表示存在错误 堆栈或hpc程序。如果你认为你的观点正确,请报告这个问题 覆盖率报告应具有有意义的结果 我认为应该(这会造成空报告)。GHC选项与其他选项相同 我的包的所有组件。不需要测试套件来重建 图

我想使用堆栈生成代码覆盖率报告。我运行命令 总计(忽略通过
--测试参数
传递给测试套件的选项):

这将执行测试,然后输出以下内容:

错误:myproject的测试套件“测试”的覆盖率报告不存在 考虑任何代码。造成这种情况的一个可能原因是您的测试套件是否构建了 库代码(参见堆栈问题#1008)。它也可能表示存在错误 堆栈或hpc程序。如果你认为你的观点正确,请报告这个问题 覆盖率报告应具有有意义的结果

我认为应该(这会造成空报告)。GHC选项与其他选项相同 我的包的所有组件。不需要测试套件来重建 图书馆。毕竟,如果阴谋集团能够生成报告,Stack应该能够 以同样的阴谋集团形式来做还是我错了

我已经开门了 堆栈 建议的GitHub回购协议


过了一会儿,我决定创建好的旧沙箱并生成报告 改用阴谋集团(你知道,我真的需要看报告)。它起作用了 以前,但现在我得到:

$cabal沙箱初始化
… 
$cabal更新
… 
$cabal安装--仅依赖项--启用测试
… 
$cabal配置--启用测试--启用覆盖率
… 
$cabal建筑
… 
$cabal测试
正在运行2个测试套件。。。
测试套件测试:正在运行。。。
测试套件测试:通过
测试套件记录到:dist/Test/myproject-0.1.0-tests.log
hpc:在[“/.hpc”、“/dist/hpc/vanilla/mix/myproject-0.1.0”、“/dist/hpc/vanilla/mix/tests”中找不到hunitddlscrs3jylbdbjpch01j/Test.HUnit.Lang”
什么?虽然我生成了许多报告,但我从未见过这种情况 之前有人刚刚决定我今天不去拿那份报告, 似乎是这样


您知道如何使用堆栈生成覆盖率报告吗?有人吗
成功了吗?

最近的更改修复了它。应该为0.1.7.0及更高版本的用户解决此问题。

在我的情况下,我仍然收到此错误。运行:

stack clean
stack test --coverage

已解决问题,如报告所述。

您使用的是哪个版本的
stack
?最新版本与
hpc
配合使用效果更好。我使用的是
0.1.6.0
,它大部分都能正常工作。另请参见@Yuras,
stack--version
→ <代码>0.1.6.0版,Git版本E22271F5CE9AFA2CB5BE3BAD9CAFA392CC623F85C(2313次提交)x86_64
@Yuras,感谢您提供该问题的链接。我不是唯一一个得到这个的人!我想我的问题也应该有一些反馈。
$ 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 clean
stack test --coverage