[英]pytest run tests inside a class with a constructor
我想為 API 編寫一個測試套件。 我的項目樹看起來像:項目樹
我需要一個“客戶端”文件,其中包含我們初始化所有輔助函數的類(例如,使用參數、斷言、配置等發送的實際請求)。 和實際測試class。 所以我有
class Client()
__init__()
def helper_function()
class TestBackend(Client)
__init__()
def test_something()
然后我嘗試使用 pytest 運行我的測試。 我不斷得到
PytestWarning:無法收集測試 class 'TestBackend',因為它有一個init構造函數。
如 py.test 所述, 如果定義了構造函數,則會跳過測試 class,這是預期的行為。 指向此 文檔的 SO 鏈接,但出於對所有神聖事物的熱愛,我無法找到解決我遇到的問題的方法,而且我認為這不是經常需要的案例。
是的,你是對的,如果在 class 中定義了“__init__()” ,那么 py-test 不會收集用於測試目的的類。 但是,如果你想初始化所有的輔助方法和文件,那么你可以在pytest.ini配置文件的 pythonpaths 中添加該文件,如下所示:-
[pytest]
python_paths = . <path to helper file>
從那時起,您可以直接在測試腳本中導入該特定文件。
我希望你能找到你的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.