pytest學習 使用yaml實現用例資料引數化

2022-07-23 22:15:26 字數 1291 閱讀 6485

一、單個引數列表

# 單參列表形式等價於

# @pytest.mark.parametrize('name',['name1','name2'])

@pytest.mark.parametrize('name',yaml.safe_load(open("./data.yml", encoding='utf-8'))['test_login0'])

二、元組形式的引數

# 相當於

# @pytest.mark.parametrize(('name','password'),[('name4','password4'),('name5','password5')])

@pytest.mark.parametrize(('name','password'),yaml.safe_load(open("./data.yml", encoding='utf-8'))['test_login1'])

三、字典形式的引數

# @pytest.mark.parametrize('dict1',[,])

# 這時就需要抓字典的key來實現引數化

@pytest.mark.parametrize('dict1',yaml.safe_load(open("./data.yml", encoding='utf-8'))['test_login1'])

值獲取:

name=dict1['name']

password=dict1['password']

四、data.yml檔案內容

#['name1','name2','name3'] 單參列表方式

test_login0 :

- 'name1'

- 'name2'

- 'name3'

#[('name4','password4'),('name5','password5'),('name6','password6')]多參列表套元組

test_login1 :

-- 'name4'

- 'password4'

-- 'name5'

- 'password5'

-- 'name6'

- 'password6'

#[,,]

test_login2 :

-name : 'name7'

password : 'password7'

-name : 'name8'

password : 'password8'

-name : 'name9'

password : 'password9'

YAML學習記錄

yaml 是乙個可讀性高,用來表達資料序列的格式。yaml參考了其他多種語言,包括 c語言 python perl,並從xml 電子郵件的資料格式 rfc 2822 中獲得靈感。1 基本語法規則 1.大小寫敏感 2.使用縮排表示層級關係 3.不允許使用tab鍵來縮排,只允許使用空格鍵來縮排 4.縮排...

pytest使用入門

pytest是第三方開發的乙個python測試模組,可以輕鬆地編寫小型測試,而且可以擴充套件以支援應用程式和庫的複雜功能測試,幫助我們編寫更好的程式。先在命令列中執行pytest的安裝命令 pip install u pytest安裝完成後,檢查是否安裝了正確的版本 pytest version 我...

pytest安裝使用

安裝pytest pip install u pytest 安裝pytest pytest version 檢視版本 在pytest框架中,有如下約束 所有的單測檔名都需要滿足test py格式或 test.py格式。在單測檔案中,可以包含test 開頭的函式,也可以包含test開頭的類。在單測類中...