接口自動化--數據驅動(ddt)

上次咱們提到了unittest單元測試框架,運用單元測試框架unittest進行編寫測試用例框架

可是遇到了一個問題,就是難道我一個測試點中有多個測試用例,我要每個都要去編寫一條測試用例嘛?這實在是太複雜了,人工成本過高了函數

通過一系列的掙扎,最開始是使用的for循環實現的,這個也能夠,可是過於累贅,而後採用了第三方庫:ddt,簡單介紹下ddt是怎麼使用的單元測試

安裝方式:測試

pip install ddtspa

使用方式:code

這個我就直接貼代碼了吧,文字說明不太容易表達,測試數據仍是引用以前的測試數據吧,,,blog

import unittest from ddt import ddt, data def A(a, b): # 測試函數
    return a+b @ddt class TestA(unittest.TestCase): # 測試數據
    test_data = [{"a": 3, "b": 5, "expect": 8}, {"a": 3, "b": 3, "expect": 6}] @data(*test_data) def test_right(self, data_info): # 測試用例
        self.assertEqual(data_info["expect"], A(data_info["a"], data_info["b"]), "用例執行失敗") if __name__ == '__main__': # 執行全部的用例
    unittest.main()

從上面的代碼能夠看出,咱們在test_data裏面是存在兩條數據,那麼按照以前的咱們應該在下面寫兩個測試方法的,如今咱們只寫了一個測試方法就OK; ,咱們看下執行的結果是什麼吧接口

 

 測試結果中顯示咱們跑了兩條測試用例,說明咱們用ddt已經解決了咱們數據驅動的問題了。ip

下面用圖示說明下具體的it

 

 

 關於ddt數據驅動,暫時就這麼多,相信運用到接口測試中也是足夠了

相關文章
相關標籤/搜索