前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python自动化之代码覆盖

Python自动化之代码覆盖

作者头像
无涯WuYa
发布2019-04-25 14:10:49
7420
发布2019-04-25 14:10:49
举报

不论是单元测试还是自动化测试,代码覆盖率都是由特定的测试套件覆盖被测源代码的程度来度量的。当然在现实的情况中,测试代码应该更加高质量的保证把包含到的类以及方法和函数测试,以及包含的业务场景测试到位,因为这样可以测试更多的源代码和涵盖源代码所实现的业务功能。当然不能为了一味的追求搞覆盖率而做没有意义的事,测试更深层次的意义更多的是产品质量的保证和工程效率的提升。这里面包含太多的价值选项,就看要做的初心是什么?

在前面中详细的介绍了unittest单元框架的简单应用,使用到源代码和测试代码具体为:

代码语言:javascript
复制
#!/usr/bin/env python
#coding:utf-8
def division(a,b):
   return a/b
import  unittest

class AddTest(unittest.TestCase):
   def test_add_001(self):
      self.assertEqual(division(4,2),2)

   def test_add_002(self):
      self.assertEqual(division(3,2),1.5)

   def test_add_003(self):
      self.assertRaises(ZeroDivisionError,division,1,0)

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

在Python语言中,代码覆盖率的测试使用到的第三方库是coverage.py,安装它的命令为:

pip install coverage

安装过程如下图所示。

coverage包含两个阶段,第一阶段是运行源代码,收集被测试的源代码覆盖率的信息,第二阶段是报告代码覆盖率的信息。

以上面的源代码为案例,收集该模块的代码覆盖率,执行的命令为:

coverage run division.py,如下图所示。

执行后,执行命令报告代码的覆盖率,命令为:

coverage report -m,如下图所示。

在上图中,可以看到被测试的模块division.py100%,当然也可以查看HTML的覆盖率报告,生成HTML的报告的命令为:

coerage html

执行后,会在当前目录下生成一个htmlcov的文件夹,如下图所示。

打开index.html,显示覆盖率的报告,如下图所示。

点击division.py的文件,点击“run”,可以看到覆盖率的情况,如下图所示。

后期逐步的介绍其他的知识体系。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档