国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python測試框架pytest:常用參數、查找子集、參數化、跳過

這篇具有很好參考價值的文章主要介紹了Python測試框架pytest:常用參數、查找子集、參數化、跳過。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Pytest是一個基于python的測試框架,用于編寫和執(zhí)行測試代碼。pytest主要用于API測試,可以編寫代碼來測試API、數據庫、UI等。
pytest是一個非常成熟的全功能的Python測試框架,主要有以下幾個優(yōu)點:
簡單靈活,容易上手。pytest的語法簡潔明了,易于理解和使用。
支持參數化。pytest可以通過裝飾器或 fixture 方法對測試用例進行參數化,提高測試用例的覆蓋率。
能夠支持簡單的單元測試和復雜的功能測試,還可以用來做selenium/appnium等自動化測試、接口自動化測試(pytest+requests)。
pytest具有很多第三方插件,并且可以自定義擴展,比較好用的如pytest-selenium(集成selenium)、pytest-html(完美html測試報告生成)、pytest-rerunfailures(失敗case重復執(zhí)行)、pytest-xdist(多CPU分發(fā))等。
測試用例的skip和xfail處理。pytest提供了靈活的跳過測試用例或預期失敗的機制,可以根據需要在測試過程中跳過某個或某些測試用例。
可以很好的和jenkins集成。pytest可以和Jenkins等持續(xù)集成工具無縫集成,方便進行自動化測試和報告生成。
report框架----allure 也支持了pytest。pytest可以和Allure報告框架集成,生成詳細的HTML測試報告,方便進行測試結果分析和展示。
pytest是一個功能強大、靈活易用的Python測試框架,適用于各種類型的測試需求,具有很高的實用價值。

安裝

# 安裝
pip install pytest

# 幫助
pytest -h

格式要求

文件名稱:test_*.py 或 *_test.py
函數名:test開頭

常用參數

-s 顯示標準輸出,相當于–capture=no,pytest默認是不輸出print logging等的輸出的,除非assert失敗。
-v 顯示詳細報告。
-k 按照關鍵詞查找測試用例。
-q 顯示簡潔報告。
-m 只運行被標記的測試用例。
-x 用例失敗時立即停止測試。
-c file從 file 加載配置文件。
-l (--showlocals) 用例失敗信息回溯時顯示局部變量及其值。
-rsxX 報告?測試用例被跳過(s)、預計失敗(x)、預計失敗但實際通過(X)的原因。
-strict禁止使用未在配置文件(pytest.ini)注冊的 mark 標記。
--maxfail=n失敗n后停止運行測試。
–reruns=num失敗用例重跑num次。需要安裝 pytest-rerunfailures 插件模塊。
--lf (--last-failed)僅執(zhí)行上次失敗的用例。如果沒有失敗的用例或者沒找到緩存文件,默認是運行所有的用例。
--lfnf =[all, none]--lf 同時使用,=all 代表找不到用例或緩存文件時執(zhí)行所有用例,=none 代表找不到用 例或緩存文件時不執(zhí)行測試用例。

pytest.main(['--lf','--lfnf=none', "test.py"])

--ff (--failed-first)先執(zhí)行失敗的用例,再執(zhí)行其他用例。
--nf (--new-first)首先從新文件或新修改的用例開始運行測試。
--sw (--stepwise)在測試失敗時退出,且下一次在測試失敗的用例開始測試。
--stepwise-skip忽略第一個失敗的測試,在第二次測試失敗時退出。
--keep-duplicates 不斷重復的測試。
--durations=n顯示執(zhí)行最慢的n條用例。注意:除非添加參數 -vv,默認情況下,否則pytest不會顯示<0.01s的測試時間。
--fixtures顯示所有可用的 fixture。
--tb=style堆?;厮菪畔⒋蛴∧J?(auto/long/short/line/native/no])。
--setup-show顯示fixture執(zhí)行步驟。
--cache-show=[CACHESHOW]顯示緩存內容,不執(zhí)行收集或測試。
--cache-clear運行前清除pytest緩存。
--continue-on-collection-errors即使發(fā)生收集(收集用例階段)錯誤,也強制執(zhí)行測試。
--rootdir=ROOTDIR定義測試的根目錄。
--color=color終端輸出的顏色(yes/no/auto)。
--collect-only只收集用例,不執(zhí)行。
--assert=MODE “plain”不執(zhí)行任何斷言調試,“rewrite”重寫測試模塊中的assert語句,以提供assert表達式信息

基礎測試

文件名:test_one.py

# 測試函數
def test_division():
    assert 1/1.0==1

# 測試類
class TestOne:
    def test_addition(self):
        """
        測試方法
        """
        assert 1 + 1 == 2

    def testsquare(self):
        """
        測試方法
        """
        assert 2*2 == 3
    
    def tesequality():
        """
        無效
        """
        assert 10 == 11

運行:

pytest -v

-v表示查看詳情。
Python測試框架pytest:常用參數、查找子集、參數化、跳過,python,python,pytest,測試用例

找到3個測試用例,1個失敗,2個通過。

測試子集

按照函數名查找子集

test_sub.py

# 測試子集
class TestSub:
    def test_compare_one(self):
        """
        測試方法
        """
        assert 1 + 1 == 2


    def test_compare_two(self):
        """
        測試方法
        """
        assert 1 + 2 == 3
pytest -v -k compare

使用pytest -k <substring>命令的-k參數值來過濾函數名。
Python測試框架pytest:常用參數、查找子集、參數化、跳過,python,python,pytest,測試用例

分組標記

# -*- coding: utf-8 -*-
import pytest

# 測試子集
class TestGroup:
    @pytest.mark.group
    def test_group_one(self):
        """
        測試方法
        """
        assert 1 + 1 == 2

    @pytest.mark.group
    def test_group_two(self):
        """
        測試方法
        """
        assert 1 + 2 == 3
pytest -v -m group

這里用裝飾器 @pytest.mark.group來標記函數,然后用pytest -v -m group中的-m來尋找這個分組標記。
Python測試框架pytest:常用參數、查找子集、參數化、跳過,python,python,pytest,測試用例

夾具函數

import pytest

# 測試fixture
class TestFixture:
    @pytest.fixture
    def input_value(self):
        return 36


    def test_division(self, input_value):
        """
        測試方法
        """
        assert input_value / 6 == 6

Python測試框架pytest:常用參數、查找子集、參數化、跳過,python,python,pytest,測試用例
這里用@pytest.fixture修飾的函數input_value提前準備了數據,以供test_division用。這種方法只能在一個文件里用,如果想全局使用可以配置Conftest.py。

參數化

import pytest

@pytest.mark.parametrize("num, output",[(1,11),(2,22),(3,35),(4,44)])
def test_multiplication_11(num, output):
   assert 11*num == output

pytest test_parame.py -v

Python測試框架pytest:常用參數、查找子集、參數化、跳過,python,python,pytest,測試用例

跳過測試

import pytest
@pytest.mark.xfail
@pytest.mark.great
def test_greater():
   num = 100
   assert num > 100

@pytest.mark.xfail
@pytest.mark.great
def test_greater_equal():
   num = 100
   assert num >= 100

@pytest.mark.skip
@pytest.mark.others
def test_less():
   num = 100
   assert num < 200

pytest test_xfail_skip.py -v

@pytest.mark.xfail標記為xfail狀態(tài)。
@pytest.mark.skip直接跳過。

Python測試框架pytest:常用參數、查找子集、參數化、跳過,python,python,pytest,測試用例

更多請見官網。文章來源地址http://www.zghlxwxcb.cn/news/detail-641093.html

到了這里,關于Python測試框架pytest:常用參數、查找子集、參數化、跳過的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 自動化測試框架pytest系列之8個常用的裝飾器函數

    自動化測試框架pytest系列之8個常用的裝飾器函數

    自動化測試框架pytest系列之基礎概念介紹(一)-CSDN博客?? 自動化測試框架pytest系列之21個命令行參數介紹(二)-CSDN博客 自動化測試框架pytest系列之強大的fixture功能,為什么fixture強大?一文拆解它的功能參數。(三)-CSDN博客 接上文? 3.5 pytest的8個裝飾器 在之前的文章可以看到,

    2024年02月02日
    瀏覽(26)
  • Python UI自動化 —— pytest常用運行參數解析、pytest執(zhí)行順序解析

    Python UI自動化 —— pytest常用運行參數解析、pytest執(zhí)行順序解析

    -v 用于顯示每個測試函數的執(zhí)行結果 -q 只顯示整體測試結果 -s 用于顯示測試函數中print()函數輸出 -x 在第一個錯誤或失敗的測試中立即退出 -m 只運行帶有裝飾器配置的測試用例 -k 通過表達式運行指定的測試用例 -h 幫助 首先來看什么參數都沒加的運行情況 -v 用于顯示每個測

    2024年02月09日
    瀏覽(25)
  • Python單元測試框架之pytest -- 斷言

    Python單元測試框架之pytest -- 斷言

    對于測試來講,不管是功能測試,自動化測試,還是單元測試。一般都會預設一個正確的預期結果,而在測試執(zhí)行的過程中會得到一個實際的結果。測試的成功與否就是拿實際的結果與預期的結果進行比較。這個比的過程實際就是斷言(assert)。 在unittest單元測試框架中提供

    2024年02月11日
    瀏覽(26)
  • Python測試框架 Pytest —— mock使用(pytest-mock)

    Python測試框架 Pytest —— mock使用(pytest-mock)

    安裝:pip install pytest-mock 這里的mock和unittest的mock基本上都是一樣的,唯一的區(qū)別在于pytest.mock需要導入mock對象的詳細路徑。 先將需要模擬的天氣接口,以及需要模擬的場景的代碼寫好,然后在進行遵循pytest的用例規(guī)范進行書寫關于mock的測試用例 通過上述代碼,提供pytest中

    2024年02月09日
    瀏覽(23)
  • python+appium+pytest自動化測試-參數化設置

    python+appium+pytest自動化測試-參數化設置

    來自APP Android端自動化測試初學者的筆記,寫的不對的地方大家多多指教哦。(所有內容均以微博V10.11.2版本作為例子) 在自動化測試用例執(zhí)行過程中,經常出現執(zhí)行相同的用例,但傳入不同的參數,導致我們需要重復的寫用例,這樣會使我們的用例變得很長,冗余,很多地

    2023年04月08日
    瀏覽(24)
  • Python自動化測試:unittest與pytest框架

    在Python中, unittest 和 pytest 都是常用的自動化測試框架。它們提供了編寫測試用例、測試套件和執(zhí)行測試的強大功能。 1. unittest框架 unittest 是Python標準庫的一部分,因此無需額外安裝。它提供了豐富的斷言方法,用于驗證測試結果。 示例代碼: python復制代碼 import unittest c

    2024年02月20日
    瀏覽(38)
  • python pytest 最簡單的接口自動化測試框架

    最近由于工作的原因,需要開發(fā)一個接口自動化測試框架,使用pytest框架、數據驅動,并展示直觀的測試報告。 具體的開發(fā)過程如下: 安裝必要的庫: pytest:用于編寫和運行測試用例。 requests:用于發(fā)送 HTTP 請求。 pytest-html:用于生成 HTML 格式的測試報告。 可以使用以下命

    2024年03月19日
    瀏覽(46)
  • Python 自動化測試框架unittest與pytest的區(qū)別

    Python 自動化測試框架unittest與pytest的區(qū)別

    ?? 博客主頁: 美團程序員 ?? 專注于軟件測試領域相關技術實踐和思考,持續(xù)分享自動化軟件測試開發(fā)干貨知識! ?? 如果你也想學習軟件測試,文末卡片有我的交流群632880530,加入我們,一起交流和學習! 引言 前面一篇文章Python單元測試框架介紹已經介紹了python單元測

    2024年02月13日
    瀏覽(32)
  • Python自動化測試框架:Pytest和Unittest的區(qū)別

    Python自動化測試框架:Pytest和Unittest的區(qū)別

    pytest和unittest是Python中常用的兩種測試框架,它們都可以用來編寫和執(zhí)行測試用例,但兩者在很多方面都有所不同。本文將從不同的角度來論述這些區(qū)別,以幫助大家更好地理解pytest和unittest。 1. 原理 pytest是基于Python的assert語句和Python的自省特性實現測試框架,其原理是基于

    2024年02月10日
    瀏覽(29)
  • 爆肝整理,Python自動化測試-Pytest參數化實戰(zhàn)封裝,一篇打通...

    爆肝整理,Python自動化測試-Pytest參數化實戰(zhàn)封裝,一篇打通...

    參數化? 通俗點理解就是,定義一個測試類或測試函數,可以傳入不同測試用例對應的參數,從而執(zhí)行多個測試用例。 例如: 對登錄接口進行測試,假設有3條用例,正確賬號正確密碼登錄、正確賬號錯誤密碼登錄、錯誤賬號正確密碼登錄,那么我們只需要定義一個登陸測試

    2024年02月13日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包