5.pytest 引數化使用
在軟體測試中,經常遇到同一個用例需要輸入多組不同的引數組合,進行功能覆蓋測試,在自動化測試中,我們把這種叫做引數化,在pytest中使用裝飾器就能完成引數化.
@pytest.mark.parametrize(argnames, argvalues)
# 引數:
# argnames:以逗號分隔的字串
# argvaluse: 引數值列表,若有多個引數,一組引數以元組形式存在,包含多組引數的所有引數
# 以元組列表形式存在
一個引數
新建test_05.py
檔案
import pytest
@pytest.mark.parametrize("arg_1",[1,2])
def test_01(arg_1):
assert 1 == arg_1
if __name__ == '__main__':
pytest.main(['-s', 'test_05.py'])
執行結果:
============================= test session starts =============================
platform win32 -- Python 3.7.1, pytest-6.0.2, py-1.9.0, pluggy-0.13.1
rootdir: D:\study\auto-pytest
collected 2 items
test_05.py ..
============================== 2 passed in 0.07s ==============================
多個引數
修改test_05.py
import pytest
values = [
(1, 1, 2),
(1, 2, 4),
(1, 3, 4)
]
@pytest.mark.parametrize("a,b,c",values)
def test_add(a,b,c):
assert (a+b)==c
if __name__ == '__main__':
pytest.main(['-s', 'test_05.py'])
執行結果:
============================= test session starts =============================
platform win32 -- Python 3.7.1, pytest-6.0.2, py-1.9.0, pluggy-0.13.1
rootdir: D:\study\auto-pytest
collected 3 items
test_05.py .F.
================================== FAILURES ===================================
_______________________________ test_add[1-2-4] _______________________________
a = 1, b = 2, c = 4
@pytest.mark.parametrize("a,b,c",values)
def test_add(a,b,c):
> assert (a+b)==c
E assert (1 + 2) == 4
test_05.py:11: AssertionError
=========================== short test summary info ===========================
FAILED test_05.py::test_add[1-2-4] - assert (1 + 2) == 4
========================= 1 failed, 2 passed in 0.10s =========================
結果三組引數執行用例,斷言a+b=c的時候,發現1+2不等於4,報錯了
相關文章
- jmeter使用csv進行引數化(一)JMeter
- jmeter使用csv進行引數化(二)JMeter
- 『動善時』JMeter基礎 — 24、JMeter中使用“使用者引數”實現引數化JMeter
- lr引數化
- 【pytest】使用parametrize將引數化變數傳遞到fixture變數
- locust 如何引數化?
- pytest(8)-引數化
- 使用 Python 解析引數Python
- layer Tips引數使用
- pytest-mark 引數化
- Pytest 引數化報錯
- pytest 引數化進階
- 16 初始化引數
- 【pytest系列】- parametrize引數化
- Android Jenkins引數化配置AndroidJenkins
- jmeter引數化介紹JMeter
- Sklearn GridSearchCV 引數優化優化
- fixtrue基礎之params引數實現簡單引數化
- C++型別引數化C++型別
- postgresql配置引數最佳化SQL
- SOLIDWORKS引數化設計方法Solid
- JMeter四種引數化方式JMeter
- 2.6 指定初始化引數
- 2.7.5 SPFILE初始化引數
- Jmeter的指令碼引數化JMeter指令碼
- 使用 JUnit 5.7 進行引數化測試:深入瞭解 @EnumSource
- 使用 XmlCommand 對Oracle傳引數XMLOracle
- pytest-引數request的使用
- 在 Lua 中使用引數技巧
- Java - 可變引數的使用Java
- 使用js修改url地址引數JS
- GoldenGate HANDLECOLLISIONS引數使用說明Go
- SOLIDWORKS如何建立引數化機櫃Solid
- 超引數最佳化完整指南
- swoole優化核心引數調整優化
- 抽象SQL引數化查詢VK抽象SQL
- 聊一聊Jmeter的引數化JMeter
- linux核心引數優化重要項Linux優化