pytest的fixtures學習十一

參數(shù)化fixture(二)

在上一篇“十”中最后運行的結果可以看到,兩個測試函數(shù)針對不同的smtp_connection實例分別運行了兩次。同時注意:對于mail.python.org連接,第二個測試在test_ehlo中失敗,因為期望的服務器字符串與到達的字符串不同。

pytest將為參數(shù)化的fixture中每個fixture值構建一個字符串作為測試ID,如上述test_ehlo[smtp.gmail.com]和test_ehlo[mail.python.org],這些IDs可以與-k一起使用,以選擇要運行的特點場景,且當一個故障發(fā)生時,還將識別特定場景。使用--collect-only運行pytest將顯示生成的ID。

數(shù)字、字符串、布爾值和None將在測試ID中使用通常的字符串表示形式。對于其他對象,pytest將根據(jù)參數(shù)名稱創(chuàng)建一個字符串。通過使用ids關鍵字參數(shù),可以為某個固定值自定義測試ID中使用的字符串:

官網(wǎng)示例

上面的代碼顯示了ids可以是要使用的字符串列表,也可是將使用fixture值調(diào)用后返回一個字符串來使用的函數(shù)。在后一種情況下,如果返回None,則將使用pytest自動生成的ID。

運行后產(chǎn)生以下測試ID:

官網(wǎng)示例


最近有點小忙,項目版本要上線,加油,堅持~

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容