---
# System prepended metadata

title: pytest django

---

# 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
