Python pytest參數化(數據驅動ddt)


  參數化,就是將測試數據提取出來,與邏輯分離,通過參數傳遞不同的測試數據來驅動用例運行,又稱為數據驅動測試(Data-Drive test,簡寫ddt)。

  比如,有一組測試注冊的測試用例,它們的測試流程相同,只是輸入的測試數據不同,這種情況下,自動化測試就可以將數據與代碼分離,只編寫1個測試用例方法,以后增加測試用例或者修改測試用例,只需要修改數據,不需要修改測試邏輯。

  pytest通過 @pytest.mark.parametrize()即可實現參數化(測試函數中必須有參數

  一、測試函數參數化

  1、單個參數

  @pytest.mark.parametrize()中接收2個參數,第1個參數用字符串的形式標記要傳遞給測試函數的參數名稱,注意,名稱與測試函數中的參數名稱必須一致,第2個參數表示要傳遞的測試數據(通常以元祖或列表的形式)。

  

   2、多個參數

  多個參數,@pytest.mark.parametrize()中仍傳入2個參數,第1個參數用一個字符串標識要傳遞的參數名稱,字符串用英文,分割,注意,名稱和數量必須和測試函數中的參數一致,第2個參數表示要傳遞的測試數據(通常以二維列表或原則表示)。

  

   二、測試類參數化

  測試類參數化,在類上面加@pytest.mark.parametrize()裝飾器,實際上,也是對測試類中的方法進行參數化。可以傳入單個參數或多個參數,類中的所有測試方法中的參數名稱和個數(測試方法中必須使用參數),必須與@pytest.mark.parametrize()中標識的參數一致。

  

   

 

 

  


免責聲明!

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



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