我也有类似的情况。我想看看覆盖率是否下降了。没有直接的方法可以得到它。所以,我写了一些python脚本和一个shell脚本。我工作得很好,我现在有詹金斯。
脚步
- 存储以前的报告和当前报告(report.prev 和 report.curr)
报告文本格式:(这是默认格式,很容易解析)
Name Stmts Miss Cover
------------------------------------------------------------------------------
my/project/example.py 3 3 0%
将报告解析为键、值是 { 文件名:coverage_percentage } 的地图
例子:
previous_run = {
'/my/filename.py' : '67',
'/one/more/file.py' : '89'
}
current_run = {
'/my/filename.py' : '67',
'/one/more/file.py' : '89'
}
然后我们可以比较这些地图(current_run,previous_run)
在生成新报告时,滚动文件:意思是,将当前报告文件移动到上一个('mv report.curr report.prev')并将新文件移动到 report.curr
我在这里放了完整的实现:
https ://github.com/diganthdr/handytools
见(coverage_compare.py)