最近是跟代码覆盖干上了,今天下午测试一个功能的时候,路过另一段代码,发现一个问题,由此想到既然C++都要搞代码覆盖,为什么不搞搞python的呢?很容易就找到了coverage.py ,这个工具比较简单,我用easy_install安装的,非常顺利。由于python不需要编译链接,所以这个工具使用非常简单。coverage run [options] your_cmd [cmd options]。
假如原来的运行的命令是:
fact_compare.py -d result
需要收集代码覆盖信息的话只需要这样运行
coverage run –branch fact_compare.py -d result
运行完了以后会在当前目录下生成一个.coverage文件,保存了代码覆盖信息,可以用简单的coverage report看来简单的结果,当然,有更好的html结果显示
coverage html -d your_result_folder
最左边是绿,也就是没有颜色的代码的就是完全覆盖(其实只是语句覆盖和分支覆盖),黄色的是部分分支覆盖,红色的语句覆盖都不是。