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小站,欢迎你们访问。
相关文章
相关标签/搜索