问题标签 [codecov]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Codecov:没有在 git 合并操作上创建覆盖率报告
对于我们的仓库,我们只直接推送到hotfix
或develop
分支,从不推送到主分支。我们只从开发/修补程序合并到主分支。
问题是 Codecov 合并了特定分支的所有报告,而不是将分支纳入透视。这意味着我们的“主”分支在 Codecov 上将始终为空,除非我们直接推送到它。
例如 :
- 致力于发展
- Travis 在开发分支上运行测试,发送报告给 Codecov
- Codecov 将报告添加为
develop
分支 - Git合并
develop
到master - Travis 在 master 分支上运行测试,发送报告给 Codecov
Codecov 将 master 的报告合并到开发报告中
结果:主分支没有可用的报告,主分支的徽章仍然显示“未知”。
查看示例回购:
- GH:https ://github.com/userfrosting/cache
- 特拉维斯:https ://travis-ci.org/userfrosting/cache/builds
- CodeCov:https ://codecov.io/gh/userfrosting/cache/commit/93a3d5d440c058bcb65efea0aa95e8bb79241cb8/build
例如,分支上的Update README.md
合并提交 ( 93a3d5d )master
没有触发 Codecov 上 master 分支的报告。您可以看到成功发送报告的两个分支的 Travis 构建。
我们如何确保报告与 master 同步,而无需:
- 首先推送一个独特的提交到 master
- 使开发分支成为 codecov 上的默认分支
- 在我们的 Reame 中使用默认的分支徽章
github - oauth'ing CodeCov.io for Github.com 时如何限制允许访问的组织?
我有一个私有存储库,属于带有https://codecov.io/的组织设置。代码覆盖率报告可在https://codecov.io/gh/myorganization/our-repository获得。但是,当我单击最后一个链接时,我得到了这个:
即使我组织中的其他人能够查看报告。好吧,我点击“添加私有范围”继续,遇到了这个问题:
底部是我在 GitHub 上加入的三个组织。我的问题是我只想让 codecov 访问其中之一。是否可以“取消选中”其他人,并且只允许 codecov 访问单个组织?我试过点击绿色复选标记。那只是把我带到这个页面。
c++ - 标记为未涵盖的类定义
我在 Qt 中为个人(开源)项目设置了 Codecov。该项目仍然主要是一个存根(几乎没有几个类,到目前为止我试图实现 100% 的覆盖率。但是,查看 Codecov 报告中这两个类的标题,一个被视为已覆盖,另一个是不是,即使它们都有单元测试并且它们都通过了。
我在 Catch2 中测试了它们:
遵循 DRY 原则,我不会粘贴测试代码character::character
;)
起初我using character::attribute
在属性测试中使用了一个指令,所以我删除了它以查看命名空间是否引起了麻烦。另外,我符合括号模型attribute
to match character
,都无济于事。
这不是一个关键问题,但我很好奇可能导致这种行为的原因以及是否/如何修复它。另外,我想知道我是否应该从覆盖检查中完全切断 headers 文件夹,但我认为这不是一个好习惯。
洞察力?
编辑查看 Travis 上的 Codecov 输出,我发现attribute.h
. 第一个显示以下信息:
而其他两个事件显示以下内容:
因此,我怀疑唯一考虑的实例是最后一个实例,它显示 0% 的执行,而不是character.h
仅在日志中出现一次。
monorepo - Codecov 无法识别来自 codecov.yml 配置的标志
最近,我从 3 个不同的仓库迁移到了一个 monorepo 并设置了以下.codecov.yml
添加flags
选项。但是,Codecov 似乎忽略了它并不断报告没有提供任何标志。
任何想法我应该添加什么来启用它们?
travis-ci - 使用蛋糕从 Travis 部署到 Codecov
我有一个项目,它可以构建、运行单元测试并生成覆盖率报告。失败的最后一部分是将报告从 Travis 上传到 Codecov。它可以在我的 Windows PC 上本地运行。
蛋糕脚本的失败部分:
构建失败:run-detectors: unable to find an interpreter for /home/travis/build/taconaut/Sppd.TeamTuner/tools/Codecov.1.4.0/tools/codecov.exe
这是我能影响的吗?我不确定这是否与操作系统、Travis、Codecov、Cake.Codecov 或我应该添加的参考有关。
它从powershell运行良好:
python - 提交未上传到 codecov
我在 github 上有一个名为codecovtest的 python 项目。
我有.travis.yml文件,它在 github 上的每次推送时开始对 travis-ci 进行自动测试。
测试通过travis-ci。
但是覆盖率报告没有上传到codecov。
我做错了什么?
node.js - 如何使用基于配置文件的 if else 语句为代码编写单元测试
我有如下功能:
并想为它写测试。我是 node.js 的新手,不知道如何编写一个测试,以便它涵盖上面示例中的两个 if 语句,因为该函数需要来自已修复的配置文件的一些参数。有没有办法传入该配置?我完全不知道如何解决这个问题,因此非常感谢任何帮助或线索。我不得不提一下,现在我的配置文件currentVersion
中设置了v1
,我所拥有的测试如下所示,codecov 建议第二个 if 语句不包含在这个测试中(daah):
c - 如何正确编解码由宏扩展的代码
我在尝试检查我在此处托管的 github 上的一个项目的代码覆盖率时遇到了一些麻烦。主要是 C 和扩展为一些可用代码的宏。
我正在编写一个测试,并决定提前发布它。这意味着该测试并未完全测试由宏扩展的所有功能,而是以某种方式获得了该特定文件的 100% 代码覆盖率。所有测试都通过了(所以所有未生成的代码都通过了),但不是所有由宏扩展的函数,所以我假设生成的代码没有被考虑在内。
所以我看到了两种可能性:
- A -做一些编译器技巧,以便 codecov 可以考虑扩展代码;
- B - 将生成的宏直接复制并粘贴到文件中(这并不理想,因为宏扩展可能会改变)。
CMC_CREATE_UNIT
扩展为单个函数,然后在下面调用 main (未显示)。CMC_CREATE_TEST
扩展成一系列do {} while(0)
(更多细节在这里)。还LIST_GENERATE
扩展为一系列作为本单元测试目标的函数。
python - 覆盖率报告不再由 codecov 处理
不久前我已经设置codecov
了gitlab
管道,并且能够在codecov
. 自初始设置以来,报告在几次提交后停止处理,我无法弄清楚我做错了什么来再次处理报告。
在我使用和的gitlab
管道中:tox
pip install codecov
在tox
我运行coverage
:
在codecov
我可以看到上传尝试处理的位置,但没有太多描述就失败了:
我已经参考了 python 教程,但看不到我做错了什么。