Django單元測試中Fixtures用法

在使用單元測試時,有時候需要測試數據庫中有數據,這時我們可以使用Django的Fixtures來生成測試數據。

基礎配置

  1. 在settings.py 中配置如下內容:
<code>FIXTURE_DIRS = ('/path/to/api/fixtures/',)/<code>
  1. 在要測試的app中,增加目錄fixtures
  2. 在新增的fixtures目錄下,新建文件myapp.json,文件名自己定,後綴必須是.json。

配置myapp.json

文件中內容格式如下,實際使用時,要刪除掉實際情況,使用數據,並刪除掉註釋,如果需要多條數據,可以多寫幾個{}的內容:

<code>[   {
"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"
}
},
]/<code>

配置tests.py

<code>class Test_user_name(TestCase):
'''測試人員名稱是否正常'''
fixtures = ['myapp.json'] # 在這裡選擇你要導入要測試的用戶數據

def test_user_name(self):
user = User.objects.get(username='zhangsan')
self.assertEqual(user.name, "zhangsan")/<code>

下邊就可以運行你的單元測試了

提醒:

如果你配置了測試的Models 的Signals,這部分的代碼也會被執行

本文原創於http://bigyoung.cn,歡迎大家訪問。


分享到:


相關文章: