通过不同的conftest文件传递参数

时间:2019-04-01 12:06:53

标签: python pytest

我试图弄清楚层次结构如何在pytest中工作。我在父文件夹中有一个顶级conftest文件,但似乎无法将一些参数从该conftest文件传递到较低的文件。我该如何进行? (我是pytest的新手)

让我们使用以下示例作为参考:

  • conftest.py
  • 测试用例/
    • conftest.py
    • test_example.py

以及以下代码: conftest.py

import pytest

@pytest.fixture(scope='session', autouse=True)
def setup_session(request):
    print("top setup method")
    if request.instance:
        t = request.instance
        t.top = "top level"

    yield

testcases / conftest.py

import pytest

@pytest.fixture(scope='function', autouse=True)
def setup_function(request):
    print("bottom setup method")
    if request.instance:
        t = request.instance
        t.bottom = "bottom level"

    yield

testcases / test_example.py

class TestExample(object):

def test_example(self):
    print(self.bottom)
    print(self.top)

我知道这段代码很垃圾,但是我想知道一种在不同级别声明多个测试设置函数的方法,同时仍然能够将参数从一个竞赛中恢复到另一个竞赛中。并在测试中获取所有这些参数。那有可能吗?

0 个答案:

没有答案