pytest引數化自定義測試用例標題

2022-05-29 11:24:12 字數 1757 閱讀 7315

pytest使用裝飾器@pytest.mark.parametrize進行引數化後,在控制台或者測試報告中的測試用例標題都是以引數組合起來命名的,這樣的標題看起來不太直觀,我們想要展示我們自己定義的標題,這時候需要用到裝飾器@pytest.mark.parametrize引數化的另外乙個引數ids來實現。

#

file_name: test_parametrize.py

import

pytest

defreturn_user():

return [('

lwjnicole

', '

12345

'), ('

nicole

', '

123111')]

class

test_d:

@pytest.mark.parametrize(

"username,password

",return_user())

deftest_login(self, username, password):

print("

username = {}, password = {}

".format(username, password))

assert username == "

lwjnicole"if

__name__ == '

__main__':

pytest.main(['-s

', '

test_parametrize.py

'])

執行結果:

從結果中可以看到用例的標題是由所有引數組合而來的,這樣看起來不怎麼直觀。

#

file_name: test_parametrize.py

import

pytest

defreturn_user():

return [('

lwjnicole

', '

12345

'), ('

nicole

', '

123111')]

class

test_d:

@pytest.mark.parametrize(

"username,password",

return_user(),

ids=[

"login success",

"login fail"])

deftest_login(self, username, password):

print("

username = {}, password = {}

".format(username, password))

assert username == "

lwjnicole"if

__name__ == '

__main__':

pytest.main(['-s

', '

test_parametrize.py

'])

執行結果:

從結果中可以看到用例的標題已經不再是各引數的組合了,而是我們在引數ids中定義的,這樣我們就實現了測試用例標題的自定義。

pytest實現測試用例引數化

本文總www.cppcns.com結pytest的測試用例引數化。軟體測試中,輸入相應值,檢查期望值,是常見測試方法。在自動化測試中,乙個測試用例對應乙個測試點,通常一組測試資料無法完全覆蓋測試範圍,所以,需要引數化來傳遞多組資料。pytest的測試用例引數化使用如下裝飾器即可完成。pytest.m...

自定義引數 Python自定義函式引數

1.種類 1 位置引數 x就是位置引數 usr bin env python coding utf 8 def power x result x x print result 2 預設引數n就是預設引數 usr bin env python coding utf 8 def power x,n 1 ...

pytest教程之自定義mark

實際的自動化測試專案中,我們的用例通常會放在多個py檔案中,如果我們只想執行其中部分用例,該怎麼做呢?pytest提供的mark功能能夠幫助我們解決這個問題。下面看具體做法。pytest markers you this is you me this is metest a.py中 用例 impor...