Django單元測試中Fixtures用法

在使用單元測試時,有時候須要測試數據庫中有數據,這時咱們能夠使用Django的Fixtures來生成測試數據。python

基礎配置

  1. 在settings.py 中配置以下內容:
FIXTURE_DIRS = ('/path/to/api/fixtures/',)
  1. 在要測試的app中,增長目錄fixtures
  2. 在新增的fixtures目錄下,新建文件myapp.json,文件名本身定,後綴必須是.json

配置myapp.json

文件中內容格式以下,實際使用時,要刪除掉實際狀況,使用數據,並刪除掉註釋,若是須要多條數據,能夠多寫幾個{}的內容:數據庫

[   {
    "model": "myapp.user",    # 數據庫名
    "pk": "a864340d850f484bb89ea2981047bc5e",  # 要導入的數據
    "fields": {   # 要導入的字段,字段名跟數據庫(models)內的字段同樣,值,根據實際須要設置
      "username": "zhangsan",
      "user_num": "000",
      "zh_name": "張三",
      "mobile": "18712345678",
      "mail": "zhangsan@abc.com",
      "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")

下邊就能夠運行你的單元測試了json

提醒:
若是你配置了測試的Models 的Signals,這部分的代碼也會被執行
本文原創於 BigYoung小站,歡迎你們訪問。
相關文章
相關標籤/搜索