微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pytest django 从 yaml 文件加载数据库数据

如何解决pytest django 从 yaml 文件加载数据库数据

我已使用 dumpdata django 命令将开发环境中的数据转储到 yaml 文件中。

我使用的是pytest框架,需要实现以下场景:

  • 在 pytest 会话开始期间 -> 即当我从命令行运行 pytest 时,应将 yaml 文件中的数据加载到我的测试数据库

是否有任何插件或钩子可以用来实现上述目标?

我使用的是 python 3.8、pytest 6.2.4、pytest-django 4.40、Django 3.0.5

解决方法

如果您使用的是 pytest-django 包,那么您可以通过在 conftest.py 中提供一个 django_db_setup fixture pytest 固定装置来为您的测试加载 Django 数据固定装置

import pytest

from django.core.management import call_command

@pytest.fixture(scope='session')
def django_db_setup(django_db_setup,django_db_blocker):
    with django_db_blocker.unblock():
        call_command('loaddata','my_fixture.yaml')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。