使用 Pytest 進行單元測試
本文整理了我在 PyCon TW 2021 年投稿的 Tutorial 分享 – 使用 Pytest 進行單元測試
內容大綱如下:
- Why 單元測試?
- PyCharm Setup for pytest
- unit test vs pytest
- 1st unit test
- 何謂單元測試?
- 三種單元測試的出口驗證
- pytest 簡介
- 如何測試 exception 的狀況
- 參數化測試(Parametrizing tests)
- 3A 原則:Arrange; Act; Assert
- 使用 Fixtures 來為單元測試作 setup/cleanup
- 二種外部依賴
- 1st 外部依賴 – 傳入依賴:使用 STUB 隔離傳入依賴
- 2nd 外部依賴 – 傳出依賴:使用 Mock 打破輸出依賴
- 整合測試:使用 PyTest & Flask test client 進行 API test
- pytest plug-in:
- 使用 code coverage 來衡量測試品質
- 如何 Mock 系統時間
- 一些好用的 Pytest plugin
我也為了這個分享錄製了相對應的 live demo 影片,提供有興趣的朋友參考。