python--setUp()和tearDown()应用,,setUp:表示前置
python--setUp()和tearDown()应用,,setUp:表示前置
setUp:表示前置条件,它在每一个用例执行之前必须会执行一次
setUp可以理解为我们需要自动化测试时,需要打开网页窗口,输入对应测试地址,这一些属于前置条件。
tearDown:表示释放资源,它在每次用例执行完之后会执行一次
tearDown可以理解为我们测试完毕后,需要关闭浏览器。
以下示例演示setUp和tearDown的执行顺序:
#coding:utf-8import unittestclass Xseq(unittest.TestCase):def setUp(self):print "前置测试条件"def tearDown(self):print "结束测试条件"def testadd(self):print ‘1+1=‘,1+1def testsub2(self):print ‘3-2=‘,3-2def testsub1(self):print ‘3-3=‘,3-3def mul(self):print ‘3*1‘,3*1if __name__=="__main__":unittest.main()
运行结果为:
由此可看到运行的顺序:
1. 每次执行函数方法时,必须先执行一次setUp()函数,执行完一个函数方法后,必须再执行一次tearDown()函数
2. 执行函数的时候有序号时,例如testxx1,testxx2 会根据序号来进行执行
3. 当函数方法不是以test开头是,不执行该方法。
若我想要改变setUp()在所有用例执行之前只执行一次,和tearDown()函数在所有用例执行之后只执行一次的话
1. 需要使用python中的@classmethod内置装饰器
2. 需要把函数名改为setUpClass(cls) / tearDownClass(cls)
以下为示例:
#coding:utf-8import unittestclass Xseq(unittest.TestCase):@classmethoddef setUpClass(cls):print "前置测试条件"@classmethoddef tearDownClass(cls):print "结束测试条件"def testadd(self):print ‘1+1=‘,1+1def testsub2(self):print ‘3-2=‘,3-2def testsub1(self):print ‘3-3=‘,3-3def mul(self):print ‘3*1‘,3*1if __name__=="__main__":unittest.main()
运行结果为:
python--setUp()和tearDown()应用
相关内容
- python中使用pip安装报错:Fatal error in launcher... 解决方法
- Python 3.6 TypeEror: iter() returned non-iterator of type,,环境:
- python3 获取阿里云OSS 最新存储容量 SDK API,,模块aliyun
- Sublime text 3配置Python3开发环境及常用插件安装,,一、环
- python 爬虫学习--Beautiful Soup插件,,Beautiful
- python 字符串转列表出现\ufeff的解决方法,, 在学习
- python3-TCP服务器和客户端(socketserver类),,#!/usr/bin
- Python pip源使用国内镜像,,常用镜像源豆瓣 ht
- python3中SSLError错误处理,,在deepin中安装
- Python格式化操作符:%,,原文作者:田小计划原
评论关闭