Django單元測試中Fixtures用法詳解
阿新 • • 發佈:2020-02-26
在使用單元測試時,有時候需要測試資料庫中有資料,這時我們可以使用Django的Fixtures來生成測試資料。
本文通過配置myapp.json,tests.py的例項程式碼給大家詳細介紹。
基礎配置
在settings.py 中配置如下內容:
FIXTURE_DIRS = ('/path/to/api/fixtures/',)
在要測試的app中,增加目錄fixtures
在新增的fixtures 目錄下,新建檔案myapp.json ,檔名自己定,字尾必須是.json 。
配置myapp.json
檔案中內容格式如下,實際使用時,要刪除掉實際情況,使用資料,並刪除掉註釋,如果需要多條資料,可以多寫幾個{}的內容:
[ { "model": "myapp.user",# 資料庫名 "pk": "a864340d850f484bb89ea2981047bc5e",# 要匯入的資料 "fields": { # 要匯入的欄位,欄位名跟資料庫(models)內的欄位一樣,值,根據實際需要設定 "username": "zhangsan","user_num": "000","zh_name": "張三","mobile": "18712345678","mail": "[email protected]","is_deleted": false,"create_time": "2013-01-16","update_time": "2013-01-16" } },]
配置tests.py
class Test_user_name(TestCase): '''測試人員名稱是否正常''' fixtures = ['myapp.json'] # 在這裡選擇你要匯入要測試的使用者資料 def test_user_name(self): user = User.objects.get(username='zhangsan') self.assertEqual(user.name,"zhangsan")
下邊就可以執行你的單元測試了
提醒:
如果你配置了測試的Models 的Signals,這部分的程式碼也會被執行
總結
到此這篇關於Django單元測試中Fixtures用法詳解的文章就介紹到這了,更多相關django fixtures用法內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!