# pytest django doc: https://pytest-django.readthedocs.io/en/latest/ ## 為什麼我要使用它而不是 Django 的 manage.py 測試命令 使用 pytest 運行測試套件提供了一些 Django 標準測試機制中不存在的功能: 少樣板:無需導入單元測試,創建帶有方法的子類。只需將測試編寫為常規函數即可。 使用fixture 管理測試依賴項。 在多個進程中運行測試以提高速度。 pytest 還有很多其他不錯的插件。 輕鬆切換:現有的單元測試風格的測試在沒有任何修改的情況下仍然可以工作。 ## 配置 Django 設置 ## 管理 Python 路徑 pytest 需要能夠在您的項目中導入代碼。通常,當與 Django 代碼交互時,交互是通過 進行的manage.py,這會將該目錄隱式添加到 Python 路徑中。 但是,當通過pytest命令啟動 Python 時,需要額外注意正確設置 Python 路徑。有兩種方法可以處理此問題,如下所述。 ## 用法和調用 ## 數據庫訪問 pytest-django採取保守的方法來啟用數據庫訪問。默認情況下,如果他們嘗試訪問數據庫,您的測試將失敗。只有當您明確請求數據庫訪問時,才會允許這樣做。這鼓勵您將需要數據庫的測試保持在最低限度,這使得哪些代碼使用數據庫非常清楚。 測試交易(databasse transaction) 需要多個數據庫的測試 使用模板數據庫進行測試 使用現有的外部數據庫進行測試 https://pytest-django.readthedocs.io/en/latest/helpers.html