python unittest控制用例的執行順序

2022-01-15 08:08:42 字數 896 閱讀 5056

為什麼要進行順序控制呢?使用過testng的同學就知道,它相對於junit來說有更強大的功能,其中的乙個功能就是依賴測試。什麼是依賴測試呢?簡單的說一下就是,a方法執行時,其中有個變數的取值是b方法的動態產出值。這樣就必須先執行b方法。testng的test方法有dependson屬性來制定方法的依賴。但是向python的unittet框架,他類似於junit,沒有依賴測試的功能。unittest的main()方法執行用例的順序是按照測試類、測試方法的名字的ascii順序來執行測試方法。如果想要控制執行順序,有以下兩種方式:

1、 通過testsuite按照順序新增想要執行的方法

suite = unittest.testsuite()

suite.addtest(testbddclass("method_name_c"))

suite.addtest(testbddclass("method_name_a"))

這樣方法的執行順序就是先執行method_name_c,在執行method_name_a

這種方式的確定是,你必須要乙個個手動去新增,測試過程中,用例個數不可能很少,這樣就懵逼了吧。看下一種方式吧。

2、順應testunit的執行順序,就是通過控制方法名字來實現。

比如,我要執行乙個交易過程的介面測試,該過程包含兩個過程,乙個是createorder(建立訂單),乙個是confirmorder(確認訂單),並且confirmorder需要交易id,而交易id是createorder介面的動態產出,所以必須要先執行createorder。

如果名字是testcreateorder和testconfirmorder的話,那麼肯定先執行testconfirmorder。怎麼辦呢?那就改名字唄,比如test_a_createorder, test_b_confirmorder

說的有點囉嗦,但大概是這個意思。

python unittest基礎用法

unittest 執行例項 基礎用法 import unittest 匯入unittest模組 defcalc a,b 被測的方法 return a b class testcale unittest.testcase 必須要整合unittest的testcase方法 deftest1 self r...

Python unittest學習筆記

python標準庫中的模組unittest提供了 測試工具。單元測試用於核實函式的某個方面沒問題 測試用例是一組單元測試,這些單元測試一起核實函式在各種情形下的行為都符合要求。良好的測試用例考慮到了函式可能收到的各種輸入,包含針對所有這些情形的測試。全覆蓋式測試用例包含一整套單元測試,涵蓋了各種可能...

python unittest 之mock學習筆記

mock的詳細用法 英文介紹 本文先對函式的mock方法進行演示。假設有檔案fun1和fun2,fun2中的函式呼叫了fun1中的函式。利用mock方法生成fun1中函式的乙個fake返回值,在此基礎上,對fun2中的函式進行單元測試。如下 fun1檔案 usr bin env python cod...