如何在类构造函数中使用pytest夹具

时间:2019-02-25 14:15:01

标签: pytest fixtures

我正在使用pytest并尝试创建应该在我的项目的许多类中使用的对象。 我试图将对象传递给其中一个类,但是pycharm向我显示了“未解析的引用'custom_inst'。

这是我的代码:

conftest.py:

@pytest.fixture(scope="function", autouse=True)
def fixture_example(request):
    custom_inst = FixtureClass()
    yield custom_inst
    custom_inst.do_something()

某些班级

@pytest.mark.usefixtures('fixture_example')
class DummyClass(object):
    def __init__(self, arg1=None, arg2=None):
        self.arg1 = arg1
        self.arg2 = arg2
        self.custom_inst = fixture_example

如何将实例“ custom_inst”作为类成员传递给DummyClass?

谢谢。

1 个答案:

答案 0 :(得分:0)

问题是您尝试混合pytest实体(夹具)和非pytest实体(类DummyClass)。

在这种情况下,DummyClass将永远不会由pytest执行,因为pytest运行器会收集并执行start from "Test" keyword only的类。 另一方面,如果您直接调用DummyClass(),由于只有pytest运行程序会使用Fixture_example,因此不会执行fix_example。

相关问题