开发区域

先进的软件开发与MATLAB

覆盖的代码遍布互联网

您可能还记得,MATLAB可以在现在的Cobertura格式化。之所以能够自R2017b。这是伟大的,因为这使我们能够利用的功能和工具是在那里更丰富的生态系统。

其中之一是伟大的codecov.io服务。这个服务提供了华丽的视图,更好的是,提供了对代码覆盖的有意义的洞察。你猜怎么着?它支持万博1manbetxCobertura格式。看看这个去年报道文章来提醒自己如何从MATLAB方面创建Cobertura风格的覆盖数据。这就是你所需要的。事实证明,codecov的那些好人。io似乎在努力工作,使它超级简单的得到这个去你的GitHub回购。

一旦你已经产生的报道信息,CI系统只需要一个更多生成步骤来运行他们的上传脚本到codecov。这看起来像这样按照他们的文档:

Bash <(curl -s https://codecov.io/bash)

codecov甚至不需要指向您的覆盖文件或任何东西,codecov会在您的工作区中找到您生成的Cobertura文件,并自动检测它并将其上传至引导。

让我们来看看这个动作对于一个真正的回购。我很快的峰值周围找到一个很好的代表代码库,而且我发现和分叉的非线性估计工具箱.我实际上不知道这个工具箱做了什么除了在 README.md文件和其到位桶网站.但是,我是我,我做过注意,他们有一个很好的单元测试集合!

与漂亮的单元测试通常是很好的覆盖。让我们来看看这个回购与输出的Cobertura和codecov.io的帮助。第一步是你需要与codecov创建帐户。

它们允许通过GitHub上,到位桶或GitLab这样做:

从那里,你将要添加你想在你的报告覆盖的存储库:

一旦你添加你想要回购(我做了非线性估计工具箱不变叉得到这个工作对我来说),codecov.io会给你的API令牌用于覆盖上传脚本。

好了,现在您有了一个链接到GitHub repo的令牌,然后您在CI构建中所需要做的就是在生成Cobertura之后,将bash脚本作为构建步骤运行。我做这个的方法是EnvInjectJenkins插件创建CODECOV_TOKEN环境变量,使用codecov站点提供给我的令牌值。记住,你不想分享你的令牌,所以这应该私下做,我已经做了以下:

然后你只需设置你的bash脚本并运行你的工作:

找到了!当你看到一些不错的高品质的ASCII艺术其次是一些好听的(言下之意成功)消息:

......还有我们走。就是这样!从现在开始,你将有你的覆盖数据加大了codecov.io。对于这个回购协议,我是正确的,他们有一些非常稳固,90.34%的代码覆盖率。更重要的是,这个工具可以很容易看到未覆盖的区域,并添加相应的检测。一探究竟

这是否显得那么容易(和强大)你因为它给我吗?您是否使用codecov.io或其他覆盖服务了吗?感兴趣地听到您的经验。

|

评论

要发表评论,请点击在这里要登录您的MathWorks帐户或创建新的。