代码之家  ›  专栏  ›  技术社区  ›  Daviddd

py。测试和Django DB访问,一个测试类除外

  •  0
  • Daviddd  · 技术社区  · 7 年前

    对我来说很清楚” How can I give database access to all my tests without the django_db marker? “”

    但是我希望/需要有几个没有DB访问权限的类测试。 当 enable_db_access_for_all_tests 是否对所有测试都处于活动状态?

    有这样的装饰师吗 @pytest.mark.no_django_db 或其他可能的解决方案?

    谢谢

    D

    1 回复  |  直到 7 年前
        1
  •  1
  •   D3f0    6 年前

    标记测试最灵活的解决方案是使用 pytest_collection_modifyitems 挂上你的conftest。py并有选择地为需要db访问的测试添加标记。这是一个遍历所有收集的测试并向其添加标记的示例。

    def pytest_collection_modifyitems(config, items):
        # Do some filtering to items
        for item in items:
            item.add_marker('django_db')
    

    使用 import pdb; pdb.set_trace() 或任何其他调试工具,以检查项目的外观。