測試用例setup和teardown


前言:最近在學pytest、故做點筆記。

1、學過unittest的都知道setup和teardown。前置和后置的意思。(在每個用例前后執行一次。)

  比之用的少一點的還有setupclass和teardownclass,需要配合@classmethod裝飾器一起使用。(在所有用例前后總共各執行一次。)

2、pytest也有類似的語法。並且種類更多。按照用例運行級別可以分為以下幾類:

  *模塊級(setup_module/teardown_module):開始於模塊始末,作用於全局(總用各執行一次。)

  *函數級(setup_function/teardown_function):僅對函數用例生效。(即不在類中。每個函數執行一次)

  *類級(setup_class/teardown_class):只在類中前后運行一次。(在類中)

  *方法級(setup_method/teardown_method):開始於方法始末(在類中。每個方法執行一次)

  *類里面的(setup/teardown):運行在調用方法的前后(每個方法執行一次)

  注:類里面按優先級排序的話:setup_class > setup_method > setup >用例> teardown > teardown_method > teardown_class(即執行順序)

  

3、下面通過幾個例子加深一下印象:

  3.1:

  

  運行結果如下:

  

  由上圖也可知:在類里面。運行順序為:setup_class > setup_method > setup >用例> teardown > teardown_method > teardown_class

  3.2:

  

  結果執行如下:

  

  通過上圖。我們可以得知。setup/teardown_module優先級是最大的。其次。函數里面用到的setup/teardown_function與類里面的setup/teardown_class互不干涉,互不影響。

  具體使用就看業務來了!

 

  


免責聲明!

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



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