zoukankan      html  css  js  c++  java
  • python--setUp()和tearDown()应用

    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()

    运行结果为:

     

  • 相关阅读:
    UVa 1151 Buy or Build【最小生成树】
    UVa 216 Getting in Line【枚举排列】
    UVa 729 The Hamming Distance Problem【枚举排列】
    HDU 5214 Movie【贪心】
    HDU 5223 GCD
    POJ 1144 Network【割顶】
    UVa 11025 The broken pedometer【枚举子集】
    HDU 2515 Yanghee 的算术【找规律】
    Java基本语法
    Java环境变量,jdk和jre的区别,面向对象语言编程
  • 原文地址:https://www.cnblogs.com/yitao326/p/10538708.html
Copyright © 2011-2022 走看看