pytest收集測試用例的順序:
同一個項目中搜索所有以test_開頭的測試文件、test_開頭的測試類、test_開頭的測試函數
執行測試用例的順序:
是按照先數據(0~9)》再字母(a~z)規則(測試函數都是英文test開頭,想要特定指定哪一個,可以test_1,這樣方便調試,一般不這樣寫,哈哈哈)
執行測試用例發現的問題:
兩個測試類,寫了5個測試函數,按照自己預期想的應該是收集到5個測試用例;結果,一執行,收集到33個,其余的28個從哪里來的??
解決問題步驟:
1、檢查最近修改過的前置條件,沒問題
2、查看測試報告,發現同一個測試用例執行了超過1次,然后就去這個測試函數下找問題
3、最終定位到是由於【錯誤的使用pytest的參數化導致將一整個數據,分別分開取了28個數據】
解決方案:
去掉參數化,直接取數據,運行,這次收集到的測試用例數量正確了。
總結:
收集到的測試用例,不止與項目中有多少個測試函數有關,同樣與一個測試用例需要使用幾組測試數據有關;例如:一個登錄測試函數,一共3組數組,收集的是測試用例數量是3個