之前的文章介绍了怎么写单测,这篇文章讨论如何将单测集成到开发流程中

单测代码的维护难题

如果单测代码仅在开发时运行一次,会有下面的问题: 1. 场景1:功能更新 -> 开发调整了源码,但没有重新运行配套单测 -> 单测代码没有及时更新,处于实质上不通过的状态 -> 单测代码腐坏、废弃 2. 场景2:功能更新 -> 开发调整了源码,不小心写了bug -> 由于没有运行单测,开发没发现 -> 单测没有起到作用

解决办法:引入gitlabci,gitlabci可以做什么?简单概括就是:

merge request

ci工具有很多,功能类似,我们公司使用gitlab作为代码管理平台,因此选择了它提供的gitlabci功能。gitlabci文档

单测推广的量化难题

  • 有的开发会因为 "不认可单测的价值","不习惯" 等原因,不愿意写单测。需要一个量化指标push大家。
  • 需要一个量化指标反映单测推广的工作进度,便于总结成绩,指导工作

解决办法: 统计单测覆盖率,它是一个百分比,表示单元测试覆盖了x%的代码。可认为覆盖率越高,单测覆盖的越好。

实践介绍

我们采取了如下的实践
1. 对于单测覆盖率,我们在项目的readme中添加了徽章,每个人都能随时看到,添加方式见gitlabci文档,效果如下图

master覆盖率>此次单测覆盖率lint

具体配置

.gitlab-ci.yml