如果想知道运行的测试用例覆盖了多少接口,或者说覆盖了多少代码逻辑,就可以用到一个python提供的覆盖率工具coverage.py
。
文件覆盖结果
首先需要下载一个插件pytest-cov
。
下载完成后,在运行时需要加上标记源码目录的cov
参数。
pytest test_file.py -v -s --cov=project_dict
运行结果中,除了常规的tests结果,还有各个文件的覆盖率。
运行结果-覆盖率部分
上方的结果已经标记除了各个文件的覆盖率,但是如果想知道某个文件具体是哪些代码没有覆盖到,可以借助于html报告。
代码覆盖结果
执行的前提,是需要安装插件pytest-html
。
安装完成后再次运行,并增加--cov-report参数:
pytest test_file.py -v -s --cov=project_dict --cov-report=html
运行结果的最末会标记出生成html报告的位置。
进入目录
htmlcov
下,用浏览器访问index.html
如下图。index.html报告页面
可以看到,首先进入报告页面,展现的仍然是各个文件的覆盖率。
但是不同的是,你可以点击每个文件,详细的查看用例没有覆盖到哪部分代码。
单个文件代码覆盖率具体展示
没有被覆盖到的代码逻辑,会以红色高亮显示,当然,这主要还是辅助大家检查是否有实际意义的遗漏,毕竟,高亮代码也有可能是这部分不需要进行测试。
今天也有学习了一阵,但是只有这个是我真正实践了的,其它的处于一知半解的阶段...甚至...都没有知。
是有些懒散的我了,总觉得又到了一个瓶颈....11月努力学习的flag有些立不住了,虽然不懂的仍然很多...但是...也确实是不太知道...向哪方面努力。
下周是重点测试的一周,但应该仍然有学习的时间,希望不像这周这么....懒吧。
又是周五,大家愉快呀~~~
自我记录,有错误欢迎指正。
网友评论