该项目的初衷主要是为了方便在开发中看到自己的代码自测程度,对于遗漏的点好及时发现和自测
项目目前已经实现了一些基本的功能了,先看一个例子:
$ incrcov develop HEAD
+----------------+-----------+-------------+---------------+---------------+--------------+
| Path | Method | Total Lines | Covered Lines | Coverage Rate | Missed Lines |
+----------------+-----------+-------------+---------------+---------------+--------------+
| app/demo2.rb:6 | say_world | 2 | 1 | 50.0% | 7 |
+----------------+-----------+-------------+---------------+---------------+--------------+
Overall incremental test coverage: 50.0%
Number of updated methods: 1
Number of low test coverage(<90%) methods: 1
上面的例子表示当前分支和 develop 分支相比,app/demo2.rb 第 6 行的 say_world 方法发生了变化,该方法总共两行被覆盖了一行,覆盖率为 50%
项目目前基本可用,但是还有很多待完善和改进的地方,找感兴趣的小伙伴一起来开发~
项目地址: https://github.com/toaco/incrcov
感谢 @gaotongfei 推荐的 undercover,了解了下 undercover 后发现 incrcov 里面的实现和 undercover 如出一辙。但是使用起来有一些差异,当前差异如下: