簡體   English   中英

pytest 使用構造函數在 class 內運行測試

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

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