在pytest中,如何實(shí)現(xiàn)針對(duì)特定類或方法的運(yùn)行? pytest用法
Mymall我的商城跨境問答2025-07-065640
在pytest中,可以使用@pytest.mark.parametrize
裝飾器來針對(duì)特定類或方法的運(yùn)行。這個(gè)裝飾器允許你為測(cè)試函數(shù)提供參數(shù)化測(cè)試,以便對(duì)多個(gè)不同的輸入值進(jìn)行測(cè)試。
下面是一個(gè)示例代碼:
import pytest
class MyClass:
def __init__(self, value):
self.value = value
def method(self):
return self.value
def test_method():
my_obj = MyClass(10)
assert my_obj.method() == 10
@pytest.mark.parametrize("value", [1, 2, 3])
def test_method_with_values():
my_obj = MyClass(value)
assert my_obj.method() == value
在這個(gè)示例中,我們定義了一個(gè)名為MyClass
的類,其中包含一個(gè)名為method
的方法。我們還定義了一個(gè)名為test_method
的測(cè)試函數(shù),用于測(cè)試MyClass
的method
方法。
然后,我們使用@pytest.mark.parametrize
裝飾器為test_method
函數(shù)提供了參數(shù)化測(cè)試。在這個(gè)例子中,我們使用了三個(gè)不同的輸入值(1、2和3)來測(cè)試MyClass
的method
方法。
通過這種方式,我們可以針對(duì)特定的類或方法進(jìn)行測(cè)試,并使用參數(shù)化測(cè)試來覆蓋多種不同的輸入情況。
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。