pytest初始化與清除(一)


一.初始化函數

  1.測試用例級別:def setup()

  2.套件級別(在模塊文件中定義):def setup_module()

  3.套件級別(在類中定義): @classmethod

              def setup_class()

二.清除函數

  1.測試用例級別:def teardown()

  2.套件級別(在模塊文件中定義):def teardown_module()

  3.套件級別(在類中定義):@classmethod

                 def teardown_class()

三.代碼示例1(模塊文件中定義測試用例級別)

from api.compare_result import CompareResult
from api.gy import gy_v4

def test_gy1():
    inputxml1 = 'C:/Users/cale/checkapi/data/input/gyopt.xml'
    outputxml1 = 'C:/Users/cale/checkapi/data/output/gyopt.xml'
    cmpr=CompareResult()
    cmpr.compareXML(gy_v4,inputxml1,outputxml1)

def test_gy2():
    inputxml2 = 'C:/Users/cl/checkapi/data/input/gyipt.xml'
    outputxml2 = 'C:/Users/cl/checkapi/data/output/gyipt.xml'
    cmpr2=CompareResult()
    cmpr2.compareXML(gy_v4,inputxml2,outputxml2)

def setup():
    print("執行測試用例前會先執行此方法")

def teardown():
    print('執行完測試用例后會執行此方法')

執行結果:

 

 結論:測試用例級別的套件,初始化清除的功能作用於每一個測試用例

代碼示例2(模塊文件中定義測試套件級別)

from api.compare_result import CompareResult
from api.gy import gy_v4

def test_gy1():
    inputxml1 = 'C:/Users/cale/checkapi/data/input/gyopt.xml'
    outputxml1 = 'C:/Users/cale/checkapi/data/output/gyopt.xml'
    cmpr=CompareResult()
    cmpr.compareXML(gy_v4,inputxml1,outputxml1)

def test_gy2():
    inputxml2 = 'C:/Users/cl/checkapi/data/input/gyipt.xml'
    outputxml2 = 'C:/Users/cl/checkapi/data/output/gyipt.xml'
    cmpr2=CompareResult()
    cmpr2.compareXML(gy_v4,inputxml2,outputxml2)

def setup_module():
    print("執行測試套件前會先執行此方法")

def teardown_module():
    print('執行完測試套件后會執行此方法')

執行結果:

 代碼示例3(類中定義測試套件級別,注意方法名的改變)

from api.compare_result import CompareResult
from api.gy import gy_v4

class TestSuite():
    def test_gy1(self):
        inputxml1 = 'C:/Users/cale/checkapi/data/input/gyopt.xml'
        outputxml1 = 'C:/Users/cale/checkapi/data/output/gyopt.xml'
        cmpr=CompareResult()
        cmpr.compareXML(gy_v4,inputxml1,outputxml1)

    def test_gy2(self):
        inputxml2 = 'C:/Users/cl/checkapi/data/input/gyipt.xml'
        outputxml2 = 'C:/Users/cl/checkapi/data/output/gyipt.xml'
        cmpr2=CompareResult()
        cmpr2.compareXML(gy_v4,inputxml2,outputxml2)

    @classmethod
    def setup_class(self):
        print("執行測試套件前會先執行此方法")

    @classmethod
    def teardown_class(self):
        print('執行完測試套件后會執行此方法')

結果:

 

 

 

 

 

 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM