您的位置:首页 > 新闻 > 会展 > python07-单元测试框架unittest1-4

python07-单元测试框架unittest1-4

2024/12/24 4:16:43 来源:https://blog.csdn.net/qq_41070511/article/details/141753753  浏览:    关键词:python07-单元测试框架unittest1-4

10 计算覆盖率(Code Coverage)

        代码覆盖率是衡量单元测试质量的一个指标,代码覆盖率是指被测试程序码中被测试的程序码行数栈总程序码行数的比例,在python中,可以使用coverage模块来计算测试覆盖率。

Code Coverage安装

pip install coverage

import unittest
import coveragecov = coverage.Coverage()
cov.start()def add(a, b):return a + bclass TestAdd(unittest.TestCase):def test_add(self):self.assertEqual(add(1, 2), 3)self.assertEqual(add(0, 0), 0)def test_add_negative(self):self.assertEqual(add(-1, -2), -3)self.assertEqual(add(-1, 1), 0)cov.stop()
cov.save()if __name__ == '__main__':cov.html_report()

        在这个例子中,使用coverage.Coverage类创建了一个覆盖率对象cov,并调用了cov.start()方法开始测试覆盖率计算,在Testadd测试类中,编写两个参数方法,在测试结束后,调用了cov.stop()方法停止测试覆盖率计算,然后使用cov.save()方法将产生覆盖率结果保存到文件中,最后使用 cov.html_report()方法生成一个HTML报告,报告中包含了测试覆盖率的详细信息

        使用测试覆盖率可以帮助开发人员更好了解待测软件代码的测试情况,发现并修复未测试的代码,是提高单元测试质量的一个重要指标

执行情况:

11 综合运用:

初始化加载器 --找到用例路径--加载所有用例 -- 执行用例--生成报告

思考:

  • 每个用例写的代码都是一样?有没有优化的方法?
  • 用例的数据可不可以独立出来?
  • 注意点,每条用例是一条TestCase类的对象,创建对象初始哈时需要注意__init__方法

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com