pytest AttributeError 使用带有产量的夹具时 [英] pytest AttributeError when using fixture with yield
本文介绍了pytest AttributeError 使用带有产量的夹具时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用具有产量的 pytest 固定装置.但是在尝试获取 yield 返回的值时收到 AttributeError
I am using pytest fixture with yield. But receive AttributeError when trying to get value that yield returns
conftest.py
conftest.py
@pytest.fixture()
def driver_setup():
driver = webdriver.Firefox()
yield driver
driver.quit()
basetest.py
basetest.py
@pytest.mark.usefixtures("driver_setup")
class BaseTest:
pass
test_example.py
test_example.py
class TestExample(BaseTest):
def test_example(self):
self.driver.get(url)
pass
输出:AttributeError: 'TestExample' 对象没有属性 'driver'
推荐答案
如果你想在测试中访问 driver
,你需要更新 driver_setup
夹具如下.>
You need to update driver_setup
fixture as below if you want access to driver
in tests.
@pytest.fixture()
def driver_setup(request):
driver = webdriver
request.cls.driver = driver
yield
driver.quit()
更多详情请参考http://computableverse.com/blog/pytest-共享类夹具.
这篇关于pytest AttributeError 使用带有产量的夹具时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文