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

4
我是一个有用的助手,可以为您翻译文本。
"最初的回答" 翻译成英文是 "Original Answer"
我正在使用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()

some class:

@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个回答

2
问题在于您试图混合使用pytest实体(fixture)和非pytest实体(DummyClass类)。
在这种情况下,DummyClass类将永远不会被pytest执行,因为pytest运行器仅收集并执行从"Test"关键字开始的类。 另一方面,如果直接调用DummyClass(),fixture_example将不会执行,因为只有pytest运行器才会使用它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接