Django单元测试中Fixtures用法
在使用单元测试时,有时候需要测试数据库中有数据,这时我们可以使用Django的Fixtures来生成测试数据。
基础配置
- 在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": "", "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,这部分的代码也会被执行
本文原创于BigYoung小站,欢迎大家访问。
相关推荐
蛰脚踝的天蝎 2020-11-10
Cocolada 2020-11-12
TuxedoLinux 2020-09-11
snowphy 2020-08-19
83540690 2020-08-16
lustdevil 2020-08-03
83417807 2020-07-19
张文倩数据库学生 2020-07-19
bobljm 2020-07-07
83417807 2020-06-28
86427019 2020-06-28
86427019 2020-06-25
zhengzf0 2020-06-21
tobecrazy 2020-06-16
宿命java 2020-06-15
83417807 2020-06-15
84284855 2020-06-11