參數(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)示例
最近有點小忙,項目版本要上線,加油,堅持~