码迷,mamicode.com
首页 > 编程语言 > 详细

python--setUp()和tearDown()应用

时间:2019-03-15 19:27:43      阅读:595      评论:0      收藏:0      [点我收藏+]

标签:==   示例   testcase   需要   utf-8   结果   图片   seq   rdo   

setUp:表示前置条件,它在每一个用例执行之前必须会执行一次 

setUp可以理解为我们需要自动化测试时,需要打开网页窗口,输入对应测试地址,这一些属于前置条件。

tearDown:表示释放资源,它在每次用例执行完之后会执行一次

tearDown可以理解为我们测试完毕后,需要关闭浏览器。

以下示例演示setUp和tearDown的执行顺序:

#coding:utf-8
import unittest
class Xseq(unittest.TestCase):
def setUp(self):
print "前置测试条件"
def tearDown(self):
print "结束测试条件"
def testadd(self):
print 1+1=,1+1
def testsub2(self):
print 3-2=,3-2
def testsub1(self):
print 3-3=,3-3
def mul(self):
print 3*1,3*1
if __name__=="__main__":
unittest.main()

运行结果为:

 技术图片

由此可看到运行的顺序:

1. 每次执行函数方法时,必须先执行一次setUp()函数,执行完一个函数方法后,必须再执行一次tearDown()函数

2. 执行函数的时候有序号时,例如testxx1,testxx2 会根据序号来进行执行

3. 当函数方法不是以test开头是,不执行该方法。

若我想要改变setUp()在所有用例执行之前只执行一次,和tearDown()函数在所有用例执行之后只执行一次的话

1. 需要使用python中的@classmethod内置装饰器

2. 需要把函数名改为setUpClass(cls) / tearDownClass(cls)

以下为示例:

#coding:utf-8
import unittest
class Xseq(unittest.TestCase):
@classmethod
def setUpClass(cls):
print "前置测试条件"
@classmethod
def tearDownClass(cls):
print "结束测试条件"
def testadd(self):
print 1+1=,1+1
def testsub2(self):
print 3-2=,3-2
def testsub1(self):
print 3-3=,3-3
def mul(self):
print 3*1,3*1
if __name__=="__main__":
unittest.main()

运行结果为:

 技术图片

 

python--setUp()和tearDown()应用

标签:==   示例   testcase   需要   utf-8   结果   图片   seq   rdo   

原文地址:https://www.cnblogs.com/yitao326/p/10538708.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!