pytest和unitest在引數化時候的差異性

2021-10-07 01:28:27 字數 582 閱讀 1582

(一)使用unitest框架進行引數化, 一般是使用parameterized,

而使用parameterized 就限制了傳遞的引數必須是元祖,

而且測試函式的實參的個數必須要和 parameterized 傳遞過來的引數個數保持一致, 否則就會出錯.

(二)使用pytest框架,就可以使用@pytest.mark.parametrize(「info」, data) 來實現引數化,

"info"是自定義的變數名, data是資料來源, 通過info[index] 來指定使用哪個資料, 一般配合yaml 來使用.

在反序列化的時候, 通過key來指定獲取yaml 檔案裡哪個父類資料, 然後引數化後, 通過info[index] 來使用 對應的鍵值.

使用yaml 和 pytest 在引數化的時候, 是可以很方便, 資料驅動也很靈活, yaml檔案的可讀性較強, 通過@pytest.mark.parametrize(「info」, data1)來使用也很方便,只需要在使用可變引數的時候 info[index]即可

pytest08 在pytest中配置環境變數

首先import os,寫入系統當前目錄的環境變數 然後用os.envtiron方法來獲取。可以寫到conftest.py中,放到根目錄下,當成全域性變數 命令列引數設定 parser.addoption cmdhost action store default help my option typ...

Pytest呼叫和使用

從命令列通過python直譯器呼叫測試 python m pytest 等同於直接呼叫命令列指令碼pytest 除了通過python呼叫也將當前目錄新增到sys.path 退出 退出 0 收集並成功通過所有測試 退出 1 手機並執行測試但是有一些測試失敗了 退出 2 使用者中斷了測試執行 退出 3 ...

Pytest安裝和介紹

pytest是python的一種單元測試框架,同自帶的unittest測試框架類似,相比於unittest框架使用起來更簡潔,效率更高。4.pytest執行的第乙個例子 file name test abc.py import pytest 引入pytest包 def test a test開頭的測...