我正在使用py.test與硒和applitools眼睛---後面這些部分無關緊要,只有py.test部分。我使用會話級夾具計算測試運行的一些會話級配置,像這樣:如何打印py.test會話的燈具值
@pytest.fixture(scope='session')
def branch(request,timestamp):
branch = request.config.getoption('--branch')
if not branch and not request.config.getoption('--live'):
# auto-generate branch
branch = "auto " + timestamp
return branch
我想打印的計算值作爲試驗報頭的一部分---或任何其他方式把它變成真正的標準輸出。
我第一次嘗試在上面的分支函數中使用capsys.disable()
,但是我得到了一個錯誤消息,說明capsys是一個函數級別的fixture,所以不能被session級別的fixture使用。很公平。
然後我試圖複製添加信息的測試報告標題的例子:
def pytest_report_header(config,branch):
print branch
但它似乎並不認爲分支可作爲pytest_report_header夾具。我可以直接調用分支()函數,但是這種方式打敗了目的。
我見過this question但我不知道它是否適用---它是有點超過我的頭py.test明智。
這似乎應該是一件簡單的事情,但我堅持---任何想法?