对我而言,很清楚“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
答案 0 :(得分:1)
用于标记测试的最灵活的解决方案是使用conftest.py中的pytest_collection_modifyitems
钩子,并为需要数据库访问权限的那些测试有选择地添加标记。这是一个遍历所有收集的测试并向其添加标记的示例。
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()
或任何其他调试工具来检查项目的外观是安全的。