[英]can we define pytest hooks outside conftest.py?
我在下面的網站做了一些研究,但我還沒弄清楚我們是否可以定義除conftest.py文件之外的pytest鈎子(例如pytest_runtest_makereport)。 基本上,我想弄清楚的是,如果我通過在基類中定義一個鈎子來避免重復conftest.py文件,例如,所以使用這個基類的其他項目(或類)可以繼承這些鈎子。
非常感謝。
我用過的參考文獻:
建議的方法是將此掛鈎移動到適當的插件中,但您可以通過在項目的conftest
文件中聲明pytest_plugins
變量來強制將模塊解釋為一個模塊:
pytest_plugins = ['myproject.plugin'] # myproject.plugin contains hooks
或者你可以使用-p
標志來py.test
:
py.test -p myproject.module
請注意,最后一個選項也可以在pytest.ini
配置:
[pytest]
addopts = -p myproject.module
有一種簡單的方法可以實現這一點,只需將所有pytest掛鈎放在python文件中,然后將其導入測試支柱文件夾中的conftest.py文件即可。
例如:在測試支柱的conftest.py中
from custom_hooks import *
然后你可以重用所有的鈎子。
如果你想覆蓋一個,只需在conftest.py中再次定義它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.