【发布时间】:2018-01-25 19:21:59
【问题描述】:
我正在浏览 pytest 固定装置,以下看起来非常相似,最新的作品非常相似。
是的,yield_fixure 的可读性更好,但是谁能告诉我到底有什么区别。
在下面提到的情况下,我应该使用哪个?
@pytest.fixture()
def open_browser(request):
print("Browser opened")
def close_browser():
print("browser closed")
request.addfinalizer(close_browser)
return "browser object"
@pytest.yield_fixture()
def open_browser():
print("Browser opened")
yield "browser object"
print("browser closed")
def test_google_search(open_browser):
print(open_browser)
print("test_google_search")
【问题讨论】:
-
yield夹具使在夹具中使用上下文管理器变得自然 -
从 pytest 3.0.0 (2016-08-18) 开始,带有 yield 语句的
@pytest.fixture是编写拆卸代码的首选方式,@pytest.yield_fixture已弃用(但尚未删除)。阅读更多here。
标签: python python-2.7 pytest fixtures