[英]Unit testing in Django: How to initialize database
我正在嘗試使用Django進行測試驅動開發。 我的問題是,在運行測試之前,我需要在數據庫中添加一些內容,例如,許多用戶,部門及其權限。 我嘗試使用Fixtures來做到這一點,但是我真的發現整個過程非常不直觀(我還發現,當我刪除並重新同步數據庫時,我的用戶Fixtures損壞了,因為僅通過id引用了權限)!
我已經搜索了此測試前數據庫初始化的其他解決方案,但是我只能找到非常簡單的情況,其中在TestCase類的setUp方法中執行初始化。 我不認為當您的應用程序具有不同的用戶和權限且都需要測試時,可以使用這種方法。
您能告訴我在開始對大型應用程序進行測試之前如何填充數據庫嗎? 除了Fixture和setUp類,還有其他更好的方法嗎?
示范工廠 (等工具factory_boy或model_mommy )是一個更好的選擇。
根據卡爾·梅耶(Carl Mayer)在“測試和Django”上的幻燈片 ,固定裝置為:
最好使用模型工廠,為什么?
就個人而言,我幾乎在每個django項目中都使用factory_boy進行測試。 值得嘗試,看看。
另請參閱:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.