我正在运行测试,并使用配置为使用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格式。