簡體   English   中英

我們可以在conftest.py之外定義pytest鈎子嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM