欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 測(cè)試框架unittest和pytest的優(yōu)劣

 更新時(shí)間:2020年09月26日 12:05:37   作者:莫使嬌軀空對(duì)月  
這篇文章主要介紹了Python 測(cè)試框架unittest和pytest的優(yōu)劣,幫助大家更好的進(jìn)行python程序的測(cè)試,感興趣的朋友可以了解下

一、Unittest

Unittest是Python標(biāo)準(zhǔn)庫(kù)中自帶的單元測(cè)試框架,Unittest有時(shí)候也被稱(chēng)為PyUnit,就像JUnit是Java語(yǔ)言的標(biāo)準(zhǔn)單元測(cè)試框架一樣,Unittest則是Python語(yǔ)言的標(biāo)準(zhǔn)單元測(cè)試框架。

Unittest支持自動(dòng)化測(cè)試,測(cè)試用例的初始化、關(guān)閉和測(cè)試用例的聚合等功能,它有一個(gè)很重要的特性:它是通過(guò)類(lèi)(class)的方式,將測(cè)試用例組織在一起。

示例:

運(yùn)行結(jié)果

注:unittest有一個(gè)關(guān)聯(lián)模塊unittest2,但unittest2僅適用于Python 2.4-2.6。這是由于從Python 2.7開(kāi)始,unittest增加一些新的特性。為了在老的版本中支持這些特性,所以提供了unittest2這個(gè)庫(kù)。但對(duì)于Python 2.7及之后的版本,unittest是唯一的。本次示例中使用的為python2.7。

二、Pytest

Pytest是Python的另一個(gè)第三方單元測(cè)試庫(kù)。它的目的是讓單元測(cè)試變得更容易,并且也能擴(kuò)展到支持應(yīng)用層面復(fù)雜的功能測(cè)試。

pytest的特性有:

  • 支持用簡(jiǎn)單的assert語(yǔ)句實(shí)現(xiàn)豐富的斷言,無(wú)需復(fù)雜的self.assert*函數(shù)
  • 自動(dòng)識(shí)別測(cè)試模塊和測(cè)試函數(shù)
  • 模塊化夾具用以管理各類(lèi)測(cè)試資源
  • 對(duì) unittest 完全兼容,對(duì) nose基本兼容
  • 支持Python3和PyPy3
  • 豐富的插件生態(tài),已有300多個(gè)各式各樣的插件,社區(qū)繁榮

示例:

執(zhí)行結(jié)果:

三、Unittest vs Pytest

unittest pytest
用例編寫(xiě)規(guī)則 1)測(cè)試文件必須先import unittest

2)測(cè)試類(lèi)必須繼承unittest.TestCase

3)測(cè)試方法必須以“test_”開(kāi)頭

4)測(cè)試類(lèi)必須要有unittest.main()方法

1)測(cè)試文件名必須以“test_”開(kāi)頭或者"_test"結(jié)尾(如:test_ab.py)

2)測(cè)試方法必須以“test_”開(kāi)頭

3)測(cè)試類(lèi)命名以"Test"開(kāi)頭

用例分類(lèi)執(zhí)行 默認(rèn)執(zhí)行全部用例,也可以通過(guò)加載testsuit,執(zhí)行部分用例 可以通過(guò)@pytest.mark來(lái)標(biāo)記類(lèi)和方法,pytest.main加入?yún)?shù)("-m")可以只運(yùn)行標(biāo)記的類(lèi)和方法
用例前置和后置 提供了setUp/tearDown,只能針對(duì)所有用例
pytest中的fixture顯然更加靈活??梢匀我庾远x方法函數(shù),只要加上@pytest.fixture()這個(gè)裝飾器,那么被裝飾的方法就可以被使用
參數(shù)化 需依賴(lài)ddt庫(kù) 使用@pytest.mark.parametrize裝飾器
斷言
很多斷言格式(assertEqual、assertIn、assertTrue、assertFalse)
只有assert一個(gè)表達(dá)式,用起來(lái)比較方便
報(bào)告 使用HTMLTestRunnerNew庫(kù) 有pytest-HTML、allure插件
失敗重跑 無(wú)此功能 pytest支持用例執(zhí)行失敗重跑,pytest-rerunfailures插件

總結(jié):

總體來(lái)說(shuō),unittest用例格式復(fù)雜,兼容性無(wú),插件少,二次開(kāi)發(fā)方便。pytest更加方便快捷,用例格式簡(jiǎn)單,可以執(zhí)行unittest風(fēng)格的測(cè)試用例,無(wú)須修改unittest用例的任何代碼,有較好的兼容性。pytest插件豐富,比如flask插件,可用于用例出錯(cuò)重跑,還有xdist插件,可用于設(shè)備并行執(zhí)行,效率更高。

以上就是Python 測(cè)試框架unittest和pytest的優(yōu)劣的詳細(xì)內(nèi)容,更多關(guān)于Python unittest和pytest的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python opencv 找出圖像中的最大輪廓并填充(生成mask)

    python opencv 找出圖像中的最大輪廓并填充(生成mask)

    這篇文章主要介紹了python opencv 找出圖像中的最大輪廓并填充(生成mask),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python實(shí)現(xiàn)多進(jìn)程共享數(shù)據(jù)的方法分析

    Python實(shí)現(xiàn)多進(jìn)程共享數(shù)據(jù)的方法分析

    這篇文章主要介紹了Python實(shí)現(xiàn)多進(jìn)程共享數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了Python多進(jìn)程共享數(shù)據(jù)的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-12-12
  • python小項(xiàng)目之五子棋游戲

    python小項(xiàng)目之五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了python小項(xiàng)目之五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • pip install python 快速安裝模塊的教程圖解

    pip install python 快速安裝模塊的教程圖解

    這篇文章主要介紹了pip install python 如何快速安裝模塊,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Python實(shí)現(xiàn)可自定義大小的截屏功能

    Python實(shí)現(xiàn)可自定義大小的截屏功能

    這篇文章主要介紹了Python實(shí)現(xiàn)可自定義大小的截屏功能,結(jié)合實(shí)例形式分析了Python針對(duì)指定范圍的截圖、保存等功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-01-01
  • Python+Opencv實(shí)現(xiàn)把圖片、視頻互轉(zhuǎn)的示例

    Python+Opencv實(shí)現(xiàn)把圖片、視頻互轉(zhuǎn)的示例

    這篇文章主要介紹了Python+Opencv實(shí)現(xiàn)把圖片、視頻互轉(zhuǎn)的示例,幫助大家更好的理解和實(shí)用python,感興趣的朋友可以了解下
    2020-12-12
  • python 日志 logging模塊詳細(xì)解析

    python 日志 logging模塊詳細(xì)解析

    這篇文章主要介紹了python 日志 logging模塊 詳細(xì)解析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Flask URL傳參與視圖映射的實(shí)現(xiàn)方法

    Flask URL傳參與視圖映射的實(shí)現(xiàn)方法

    這篇文章主要介紹了Flask URL傳參與視圖映射的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-03-03
  • jupyter notebook清除輸出方式

    jupyter notebook清除輸出方式

    這篇文章主要介紹了jupyter notebook清除輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • tensorboard 可以顯示graph,卻不能顯示scalar的解決方式

    tensorboard 可以顯示graph,卻不能顯示scalar的解決方式

    今天小編就為大家分享一篇tensorboard 可以顯示graph,卻不能顯示scalar的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02

最新評(píng)論