最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

一、Unittest

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

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

示例:

運行結(jié)果

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

二、Pytest

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

pytest的特性有:

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

示例:

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

三、Unittest vs Pytest

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

2)測試類必須繼承unittest.TestCase

3)測試方法必須以“test_”開頭

4)測試類必須要有unittest.main()方法

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

2)測試方法必須以“test_”開頭

3)測試類命名以"Test"開頭

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

總結(jié):

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

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

相關(guān)文章

  • Python讀取Word文檔中的Excel嵌入文件的方法詳解

    Python讀取Word文檔中的Excel嵌入文件的方法詳解

    這篇文章主要為大家詳細介紹了Python讀取Word文檔中的Excel嵌入文件的方法,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2022-12-12
  • Python編程之順序執(zhí)行與程序的主入口詳解

    Python編程之順序執(zhí)行與程序的主入口詳解

    程序從程序入口進入,到程序執(zhí)行結(jié)束,大體是按照順序結(jié)構(gòu)執(zhí)行語句、函數(shù)或代碼塊,掌握程序的結(jié)構(gòu),有利于把握程序的主體框架,下面這篇文章主要給大家介紹了關(guān)于Python編程之順序執(zhí)行與程序的主入口的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Python中將語音轉(zhuǎn)換為文本的實現(xiàn)方法

    Python中將語音轉(zhuǎn)換為文本的實現(xiàn)方法

    語音識別是計算機軟件識別口語中的單詞和短語并將其轉(zhuǎn)換為人類可讀文本的能力,在本教程中,您將學(xué)習(xí)如何使用SpeechRecognition 庫在 Python 中將語音轉(zhuǎn)換為文本,文中有相關(guān)的代碼供大家參考,需要的朋友可以參考下
    2024-01-01
  • django模型動態(tài)修改參數(shù),增加 filter 字段的方式

    django模型動態(tài)修改參數(shù),增加 filter 字段的方式

    這篇文章主要介紹了django模型動態(tài)修改參數(shù),增加 filter 字段的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • PyQt5連接MySQL及QMYSQL driver not loaded錯誤解決

    PyQt5連接MySQL及QMYSQL driver not loaded錯誤解決

    這篇文章主要介紹了PyQt5連接MySQL及QMYSQL driver not loaded錯誤解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 在python image 中安裝中文字體的實現(xiàn)方法

    在python image 中安裝中文字體的實現(xiàn)方法

    今天小編大家分享一篇在python image 中安裝中文字體的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python基于event實現(xiàn)線程間通信控制

    python基于event實現(xiàn)線程間通信控制

    這篇文章主要介紹了python基于event實現(xiàn)線程間通信控制,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • Python+Selenium實現(xiàn)短視頻自動上傳與發(fā)布的實踐

    Python+Selenium實現(xiàn)短視頻自動上傳與發(fā)布的實踐

    本文主要介紹了Python+Selenium實現(xiàn)短視頻自動上傳與發(fā)布的實踐,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Python socket處理client連接過程解析

    Python socket處理client連接過程解析

    這篇文章主要介紹了Python socket處理client連接過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Python實現(xiàn)帶GUI界面的手寫數(shù)字識別

    Python實現(xiàn)帶GUI界面的手寫數(shù)字識別

    這篇文章主要介紹了如何通過Python實現(xiàn)帶GUI界面的手寫數(shù)字識別,文中的示例代碼講解詳細,對我們學(xué)習(xí)Python有一定的幫助,感興趣的可以了解一下
    2022-01-01

最新評論

邯郸县| 大埔县| 资兴市| 宁陵县| 英吉沙县| 太谷县| 厦门市| 霍林郭勒市| 柘城县| 德化县| 辽源市| 海晏县| 石柱| 尤溪县| 香格里拉县| 绩溪县| 喜德县| 龙海市| 都匀市| 丰宁| 宜君县| 沅江市| 新宁县| 柘荣县| 渝北区| 胶南市| 枝江市| 瑞安市| 弋阳县| 治县。| 吴旗县| 兴安县| 东乡族自治县| 汽车| 河津市| 九龙城区| 祁东县| 阳信县| 双桥区| 云梦县| 云安县|