【问题标题】:Django_db mark for django parametrized testsDjango 参数化测试的 Django_db 标记
【发布时间】:2017-04-18 14:54:06
【问题描述】:

过去几周我一直在学习 django,我尝试使用参数化装置和测试功能,据我了解,我可以简单地一次运行多个测试。通过参数化测试,我正在尝试测试在所有模型中都可以找到的功能。我阅读了文档,但遗憾的是,我一尝试就收到以下错误消息Database access not allowed, use the "django_db" mark, or the "db" or "transactional_db" fixtures to enable it.。我确实阅读了有关错误和可能的修复的信息,我发现创建一个 autouse 固定装置并将其放入 conftest.py:

import pytest
@pytest.fixture(autouse=True)
def enable_db_access_for_all_tests(db):
    pass

遗憾的是,此更改产生了 0 差异,并且在运行测试后我收到了完全相同的错误。我也尝试使用 django_db 标记来授予对数据库的测试访问权限,但这似乎也不起作用。

【问题讨论】:

    标签: python django django-testing


    【解决方案1】:

    我花了一段时间才意识到这一点,但上述“工作”。如果您仔细查看错误,它会发生变化。 Database access not allowed, use the "django_db" mark, or the "db" or "transactional_db" fixtures to enable it. 仍然存在,不正确,而且,无论如何,对我来说,它正在运行迁移,我不希望它这样做,并且它在一些旧数据迁移时崩溃。在命令中添加--nomigrations 为我解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2022-06-13
      • 1970-01-01
      • 2020-12-13
      • 2022-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多