Python单元测试框架之unittest+requests+ddt+excel接口自动化测试

本文介绍了Python单元测试框架unittest的使用,包括TestCase类、setUp和tearDown方法、defaultTestLoader类、TestSuite和TextTestRunner类。还讨论了如何进行数据驱动测试(DDT)和生成HTML测试报告,以及unittest中的断言方法和skip装饰器的运用,适用于接口自动化测试场景。
摘要由CSDN通过智能技术生成

unitetest是python里单元测试框架,是基于 java 的 junit 测试框架 相当于是一个 python 版的 junit,除了 unittest,还有一个 pytest 框架

unittest.TestCase:TestCase类,所有测试用例类继承的基本类

一个TestCase的实例就是一个测试用例。一个测试用例要包括测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown)。一个测试用例是一个完整的测试单元,通过运行这个测试单元,可以对某一个功能进行验证

 

unittest.main():使用她可以方便的将一个单元测试模块变为可直接运行的测试脚本,main()方法使用TestLoader类来搜索所有包含在该模块中以“test”命名开头的测试方法,并自动执行他们。执行方法的默认顺序是:根据ASCII码的顺序加载测试用例,数字与字母的顺序为:0-9,A-Z,a-z。所以以A开头的测试用例方法会优先执行,以a开头会后执行

 


一、setUp()和tearDown()函数

    setUp()函数是在众多函数或说是在一个类里最先被调用的函数,每执行完一个函数都要从setUp()调用开始后再执行下一个函数,有几个函数几次,与位置无关,随便放在那里都是他先被调用。

     tearDown()函数是在众多函数执行完后他才被执行,不管这个类里面有多少函数,他总是最后一个被执行,与位置无关,放在那里都行,最后不管测试函数是否执行成功都执行tearDown()方法;如果setUp()方法失败,则认为这个测试项目失败,不会执行测试函数也不执行tearDown()方法。

1、setUp()和tearDown()方法都是非必要条件,如果没有也可以写pass

2、setUp()和tearDown()方法每个测试用例都会执行,先执行前置setUp,然后执行的用例(test*),最后执行的后置tearDown

3、setUp():setUp()方法用于测试用例执行前初始化工作。如测试用例中需要访问数据库,可以在setUp中建立数据库连接并进行初始化。如测试用例需要登录web,可以先实例化浏览器

4、tearDown():tearDown()方法用于测试用例执行之后的善后工作。如关闭数据库连接、关闭浏览器

5、未加装饰器,先执行前置setUp,再执行test开头的test01,最后执行后置tearDown,继续循环所有用例;加了装饰器@classmethod,先执行setUp,再执行test开头的所有用例,最后执行tearDown

#未加装饰器,先执行前置setUp,再执行test开头的测试用例,最后执行后置tearDown,继续循环所有用例

import unittest
class Test(unittest.TestCase):	#继承unittest.TestCase这个类
	def setUp(self):			#测试用例执行前运行
		print('setUp__')
	def tearDown(self):			#测试用例结束后运行
		print('tearDown')
	def testMinus(self):	    #测试用例名称以test开头
		'''这里是减法'''
		print('这里是减法')					
		result=6-5					
		hope=1					
		self.assertEqual(result,hope)					
	def testDivide(self):						
		'''这里是除法'''
		print('这里是除法')
		result=7/2
		hope=3.5
		self.assertEqual(result,hope)
if __name__ == '__main__':
	unittest.main()



C:\Users\wangli\PycharmProjects\AutoMation\venv\Scripts\python.exe C:/Users/wangli/PycharmProjects/AutoMation/case/test.py
setUp__
这里是除法
tearDown
setUp__
这里是减法
tearDown
..
----------------------------------------------------------------------
Ran 2 tests in 0.000s

OK

Process finished with exit code 0
#加了装饰器@classmethod,先执行setUp,再执行test开头的所有用例,最后执行tearDown

import uni
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王大力测试进阶之路

打赏博主喝瓶水吧!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值