Pytest - 如何使用一个夹具来解决几个conftest文件问题

时间:2018-02-21 11:14:52

标签: python python-2.7 pytest

我有几个pytest套件,每个套件都有几乎相同的conftest文件。由于conftest文件包含一些重复的代码,并且随着时间的推移它们可能会变大,套件的数量也会增加,我决定将conftest fixtures移动到某个路径中的另一个模块并使用{{1'导入它变量到conftest文件。

有一个问题。有一个夹具依赖于conftest文件的局部变量。如何将夹具移动到另一个模块并强制它使用conftest文件的局部变量?

new_conftest_module.py

var = 1

@pytest.fixture(scope="session", autouse=True)
def session_init():
    do_something(var)

test_dir1 / conftest.py

pytest_plugins = ['new_conftest_module']
var = 2

test_dir2 / conftest.py

pytest_plugins = ['new_conftest_module']
var = 3

这是一个虚拟示例,但正如您所看到的,问题是var变量特定于每个conftest文件,但使用它的灯具是相同的。我是否可以使用一种解决方法,以便在每个套件使用特定var值时将夹具放在一个公共模块中?

0 个答案:

没有答案