我有一个位于conftest.py中的夹具
@pytest.fixture(scope='module', autouse=True)
def my_fixture():
"""
Some useful code
"""
结构如下:
tests
|
|--first_folder
| |--__init__.py
| |--test_first_1.py
| |--test_first_2.py
|
|--second_folder
| |--__init__.py
| |--test_second_1.py
|
|--__init__.py
|--conftest.py
|--test_common_1.py
我希望该夹具仅在内部文件夹中自动使用测试脚本:在测试第一个\u 1.py,测试第一个\u 2.py,测试第二个\u 1.py,但不在测试第一个\u 1.py中
我可以在每个内部文件夹中使用该装置创建conftest,但我不想复制代码
有没有办法将fixture from conftest应用于内部文件夹中的测试脚本,并在公共文件夹测试脚本中忽略它
一种可能的解决方案是,您不想更改文件夹的结构,即使用fixture中的
request
对象检查测试中使用的标记,因此,如果设置了特定标记,您可以执行任何操作:然后按如下方式标记您的测试:
@lmiguelvargasfanswer(+1)为我指明了正确的方向,我使用
request
解决了以下问题:此装置将仅应用于内部文件夹中的测试脚本,因为调用文件夹名称不等于“测试”
您可以通过将文件夹“first folder”和“second folder”移动到新文件夹并在该新文件夹中具有conftest.py文件来实现此目的。像这样-
相关问题 更多 >
编程相关推荐