程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-05(2)

Django单元测试中Fixtures用法

发布于2020-02-26 11:52     阅读(1176)     评论(0)     点赞(13)     收藏(3)


在使用单元测试时,有时候需要测试数据库中有数据,这时我们可以使用Django的Fixtures来生成测试数据。

基础配置

  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"
        }
      },
    ]
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    配置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")
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    下边就可以运行你的单元测试了

    提醒:

    如果你配置了测试的Models 的Signals,这部分的代码也会被执行

    本文原创于BigYoung小站,欢迎大家访问。

    发布了194 篇原创文章 · 获赞 15 · 访问量 11万+


    所属网站分类: 技术文章 > 博客

    作者:787sds

    链接:https://www.pythonheidong.com/blog/article/234082/07bfed5a1bf11b0e2784/

    来源:python黑洞网

    任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

    13 0
    收藏该文
    已收藏

    评论内容:(最多支持255个字符)