开发区域

MATLAB高级软件开发

所有互联网上的Cov 'ed代码

您可能还记得MATLAB中可以生成代码覆盖率信息现在是Cobertura格式。从R2017b开始就可以了。这很好,因为这允许我们利用现有的功能和工具的更丰富的生态系统。

其中之一是伟大codecov.io服务。该服务提供了华丽的视图,更重要的是,它可以深入了解代码覆盖率。你猜怎么着?它支持金宝appCobertura格式。看看这个最后一篇报道来提醒自己如何从MATLAB中创建Cobertura风格的覆盖率数据。这就是你所需要的。事实证明,codecov的那些好人。io似乎在努力工作,使它超级简单,让这为你的GitHub回购。

生成覆盖率信息之后,CI系统只需要再执行一个构建步骤,就可以将上传脚本运行到codecov。根据他们的文档,这看起来是这样的:

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

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

让我们看看实际回购的情况。我很快找到了一个很有代表性的代码库,然后我找到了非线性估计工具箱.我实际上不知道什么这个工具箱除了他们提供的描述 README.md文件和他们的Bitbucket都网站.然而,我就是我,我做了注意,它们有一个很好的单元测试集合!

良好的单元测试通常会带来良好的覆盖率。让我们在Cobertura输出和codecov.io的帮助下查看这个repo。第一步是你需要用codecov创建你的账户。

他们允许通过GitHub, Bitbucket或GitLab这样做:

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

一旦你添加了你想要的repo(我做了一个不变的非线性估计工具箱的分支,让它为我工作),codecov。io将为覆盖率上传脚本提供API令牌。

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

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

当你看到一些漂亮的高质量ASCII图像,然后是一些令人愉快的声音(成功暗示)消息时,你已经成功了:

...好了。就是这样!从现在起,您将在codecov.io上获得所有的覆盖率数据。对于这次回购,我是正确的,他们有一些相当可靠的,90.34%的代码覆盖率。更重要的是,这个工具可以很容易地发现未覆盖的区域并添加适当的测试。看看吧

这对你来说是否像对我一样容易(而且有效)?你在用codecov吗?IO或其他覆盖服务?很想听听你的经历。

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。