python自动化_Python自动化之代码覆盖

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

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

#!/usr/bin/env python#coding:utf-8def division(a,b):   return a/bimport  unittestclass 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 

安装过程如下图所示。

b68cf7d4d32346833fc4274362c1ca1b.png

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

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

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

1c76519b2c0df4918d97050c65945697.png

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

coverage report -m,如下图所示。

f82f28899139032ce919bbf6a45e6e4a.png

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

coerage  html

1ced8ffda07883328410245ce31bbfa4.png

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

1998737384e6146502ac4cc8d83e957c.png

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

7531fb2e795ed913a81b0bb206c081dc.png

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

1b3200aaab505884c29dd03e52d57f46.png

  后期逐步的介绍其他的知识体系。您也扫描如下二维码关注本人的课程,谢谢您!

541a18c7b96c9609f9fce101145bae89.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值