unittest中有測試固件,用於在每個測試用例執行前後執行相關操作,通常情況下測試過程中會將一些相同的準備操作或者一些結束操作放在固件中,對於pytest如何來實現?
setup() 和 teardown() 在測試方法執行之前與之後進行執行,此方法與 setup_method() 和 teardown_method() 方法作用是一樣的
從截圖來看,每次執行用例之前均會執行setup中的操作,執行用例之後均會執行teardown中的操作
我們可以將一些執行用例之前必須的操作放在setup中,稱爲前置條件
把一些後置操作放在teardown中,類似於jmeter中前置處理器和後置處理器
2、setup_class() 和 teardown_class() 是在測試類中所有測試方法執行之前 或者執行完成之後進行執行的操作
總結:
setup/teardown 和setup_class和teardown_class 是運行在 類中的方法
setup_function/teardown_function 和 setup_module/teardown_module 是運行在方法,
setup_function/teardown_function是方法的前置和後置用法,不在類中
setup_module/teardown_module 是所有用例開始前只執行一次和所有用例結束後只執行一次
運行的優先級爲:setup_module/teardown_module的優先級最大,然後函數裏面用到的setup_function/teardown_function與類裏面的setup_class/teardown_class之間沒有影響