代码覆盖率检查工具 -- Coverage,简单使用

Coverage

  一个专门用来检查代码覆盖率的工具,他的使用非常简单,有两种使用方法:[命令行运行,配合测试套件使用]

  安装: pip install coverage

一、准备素材

main.py  

def get_status(score):
    if score >= 90:
        return '优秀'
    elif score >= 80:
        return '良好'
    elif score >= 60:
        return '及格'
    else:
        return '不合格'

test_get_status.py

import unittest
from main import get_status

class GetStatus(unittest.TestCase):

    def test1(self):
        self.assertAlmostEquals(get_status(90))

    def test2(self):
        self.assertAlmostEquals(get_status(70))


if __name__ == '__main__':
    unittest.main(verbosity=2)

二、使用 coverage 来检查覆盖率

2.1 命令行方式

在命令行中运行

# 1、搜集被测代码覆盖率信息,保存到 .coverage 文件中
coverage run test_get_level.py

# 2、生成覆盖率统计结果报告
coverage html -d coverage_result

然后看看测试结果

*:statements :代码总行数

*:missing:未执行代码行数

*:coverage:代码覆盖率


 


2.2 配合测试套件使用

test_coverage.py

import coverage
import unittest

cov = coverage.coverage()
cov.start()

suite = unittest.defaultTestLoader.discover('./', 'test_get_status.py')
unittest.TextTestRunner().run(suite)

cov.stop()
cov.save()
cov.report()
cov.html_report(directory='res_html')

然后就是运行结果,结果和上图是一样的,就不发了

原文地址:https://www.cnblogs.com/shiyixirui/p/14535214.html