簡體   English   中英

如何使用不同的參數多次運行 TestClass?

[英]How to run TestClass several time with different parameters?

我正在嘗試解決我在 PyTest 中遇到的一個問題。 我正在嘗試創建 PyTest,它將使用不同的參數多次運行一個 TestClass。 我知道我可以使用@pytest.mark.parametrize ,但是測試順序有問題。

當我使用@pytest.mark.parametrize時,測試的順序是:

  • 測試1[參數1]
  • 測試1[參數2]
  • 測試2[參數1]
  • 測試2[參數2]

我正在尋找一些將按此順序運行測試的解決方案:

  • 測試1[參數1]
  • 測試2[參數1]
  • 測試1[參數2]
  • 測試2[參數2]

感謝您的任何建議!

原則上,提供給參數化的測試數據的順序應該無關緊要。 因此,如果您此時需要這樣做:即執行的順序很重要,那么您的測試應該明確 state 。 例如

@pytest.mark.parametrize("data_1, data_2", [
   (...),
   (...)
])
def my_test(data_1, data_2):
    """
    Explain what test is about.
    """
    # Step 1 - Do something first with data_1:
    ...
    # Step 2 - Do something next with data_2:
    ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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