你已經看過把清單的前置準備做成一個 fixture。那如果你還想自訂準備流程呢?例如,有人可能想為產生的 list 指定自訂長度。你可以透過串接 fixture 請求來實作,做法是把「長度」拆成獨立的 fixture;我們把它叫做 list_length()。最後,你會有一個測試函式請求 list,而這個 list 會再去請求 list_length() 來產生。
list
list_length()
本練習屬於課程
將理論付諸實踐,立即體驗我們的互動練習
了解什麼是測試,並使用 pytest 函式庫執行你的第一個測試!你會熟悉 pytest 測試框架與命令列介面。你也會學到如何用 pytest 標記處理特定情境,例如「測試失敗」與「略過測試」。
了解什麼是 fixture,並學會在測試中使用它,讓程式碼更精簡。你會熟悉裝飾器 @pytest.fixture 與各種 fixture 工具。你會分析自己的程式碼,找出其中的「fixture 部分」。最後,學會使用 teardown,避免軟體出錯。
當前練習
認識基本測試類型及其特點。了解測試案例,以及它們如何協助你實作測試。你將更熟練撰寫測試函式,並在 IDE 的練習中從 CLI 執行 pytest。最後,你能分辨不同測試類型,並為各類型撰寫相對應的測試。
在最後一章,你將認識 unittest 框架。你會先學基本的斷言方法,接著是它的 CLI 介面與如何使用 fixtures。最後,透過資料管線的實務範例,把所學整合起來。