为什么当我有一个由 c8 生成的覆盖目录时,"coverallsapp/github-action@v2""Nothing to report"?



我正在运行测试,并使用配置为使用c8覆盖库的Vitest收集覆盖率。这似乎是有效的,因为当测试完成时,我在终端中得到一个覆盖率报告,并且创建了一个名为coverage的目录,其中包含我可以在浏览器中查看的各种文件:

$ ls -la coverage/
total 712
drwxr-xr-x  14 shawn  staff     448 Apr 10 11:08 .
drwxr-xr-x  24 shawn  staff     768 Apr 10 11:23 ..
-rw-r--r--   1 shawn  staff    5394 Apr 10 11:08 base.css
-rw-r--r--   1 shawn  staff    2655 Apr 10 11:08 block-navigation.js
-rw-r--r--   1 shawn  staff  108109 Apr 10 11:08 clover.xml
-rw-r--r--   1 shawn  staff  190921 Apr 10 11:08 coverage-final.json
drwxr-xr-x   4 shawn  staff     128 Apr 10 11:08 examples
-rw-r--r--   1 shawn  staff     445 Apr 10 11:08 favicon.png
-rw-r--r--   1 shawn  staff    5802 Apr 10 11:08 index.html
-rw-r--r--   1 shawn  staff     676 Apr 10 11:08 prettify.css
-rw-r--r--   1 shawn  staff   17590 Apr 10 11:08 prettify.js
-rw-r--r--   1 shawn  staff     138 Apr 10 11:08 sort-arrow-sprite.png
-rw-r--r--   1 shawn  staff    6181 Apr 10 11:08 sorter.js
drwxr-xr-x  11 shawn  staff     352 Apr 10 11:08 src

我的下一步是将这个覆盖信息发送到Coveralls,为我的README获得一个覆盖徽章。对于这一部分,我使用了Coveralls为这个用例提供的GitHub Action:coverallsapp/github-action@v2

这不起作用,然而:似乎动作没有找到覆盖率报告,因为它说"没有什么要报告的"。

以下是部署工作流的相关部分:
[…]
test:
[…]
steps:
[…]
- name: Test
run: npm test
env: […]
- name: Report Coveralls
uses: coverallsapp/github-action@v2

npm test部分创建coverage目录(它基本上只是运行vitest run --coverage)。

那么为什么工作服找不到覆盖率报告呢?我是否应该配置c8以生成不同格式的输出?调用coverallsapp/github-action@v2时需要额外的配置吗?我应该使用istanbul而不是c8,或者其他东西吗?我应该使用CodeDov而不是Coveralls,或者其他东西吗?

你的问题中没有任何东西告诉你这个动作不会完美地工作。

只找不到覆盖率数据。你需要为动作提供正确的位置,否则它无法工作。

在Coveralls Github Actionread-me中找到这个解释.

您必须使用至少一种与兼容的覆盖格式与Coveralls Github Action使用的覆盖报告器。

显示HTML覆盖目录并坚持在你的问题文本中是不足以真正使它正确配置的。

既然你没有问更具体的问题,这就是答案。

鼓励你在你已经在你的问题中概述的旁边做更多的疯狂猜测,对我来说也没有用。

我的建议是将重点放在clover.xml文件上,并告诉Coveralls操作在哪里可以找到它。从技术上讲,您也可以使用任何其他支持的格式。

更正:Coveralls Github Action还不支持clover.xml格式。

相关内容

  • 没有找到相关文章

最新更新