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

python中的測(cè)試框架

 更新時(shí)間:2020年11月13日 16:22:01   作者:Fancey  
這篇文章主要介紹了python中測(cè)試框架的相關(guān)資料,幫助大家更好的理解和使用python進(jìn)行測(cè)試,感興趣的朋友可以了解下

一、測(cè)試常用規(guī)則

  • 一個(gè)測(cè)試單元必須關(guān)注一個(gè)很小的功能函數(shù),證明它是正確的;
  • 每個(gè)測(cè)試單元必須是完全獨(dú)立的,必須能單獨(dú)運(yùn)行。這樣意味著每一個(gè)測(cè)試方法必須重新加載數(shù)據(jù),執(zhí)行完畢后做一些清理工作。通常通過(guò)setUp()和setDown()方法處理;
  • 編寫執(zhí)行快速的測(cè)試代碼。在某些情況下,測(cè)試需要加載復(fù)雜的數(shù)據(jù)結(jié)構(gòu),而且每次執(zhí)行的時(shí)候都要重新加載,這個(gè)時(shí)候測(cè)試執(zhí)行會(huì)很慢。因此,在這種情況下,可以將這種測(cè)試放置一個(gè)后臺(tái)的任務(wù)中。
  • 在編寫代碼前執(zhí)行完整的測(cè)試,而且在編寫代碼后再重新執(zhí)行一次。這樣能保證你后來(lái)編寫的代碼不會(huì)破壞任何事情;
  • 在提交代碼前執(zhí)行完整的測(cè)試;
  • 如果在開發(fā)期間被打斷了工作,寫一個(gè)打斷的單元測(cè)試,關(guān)于你下一步將要開發(fā)的。當(dāng)你回來(lái)工作時(shí),你能知道上一步開發(fā)到的指針;
  • 單元測(cè)試函數(shù)使用長(zhǎng)的而且具有描述性的名字。在正式執(zhí)行代碼中,可能使用square()或sqr()取名,但是在測(cè)試函數(shù)中,你必須取像test_square_of_number_2()、test_square_negativer_number()這些名字,這些名字描述更加清楚;
  • 測(cè)試代碼必須具有可讀性;
  • 單元測(cè)試對(duì)新進(jìn)的開發(fā)人員來(lái)說(shuō)是工作指南。

二、python常用的測(cè)試框架

1. unittest

unittest是Python內(nèi)置的標(biāo)準(zhǔn)類庫(kù)

unittest 和 JUnit類似,可以說(shuō)是python的標(biāo)準(zhǔn)單元測(cè)試框架,所以有時(shí)也被人稱為 PyUnit。它使用起來(lái)和xUnit 家族其他成員類似。 用的人也比較多。兼容 python2 以及python3 。

2、unittest2

unittest2 可以說(shuō)是一個(gè)針對(duì) unittest測(cè)試框架新特性的補(bǔ)丁。它很大程度上和unittest都類似。然后還添加了一些unittest沒(méi)有的方法。

3、pytest

py.test是unittest的替代工具。

盡管它是一個(gè)功能豐富、靈活的測(cè)試框架,但是它的語(yǔ)法很簡(jiǎn)單。創(chuàng)建一個(gè)單元測(cè)試就像編寫一個(gè)模塊一樣。相比unittest,實(shí)現(xiàn)相同的測(cè)試功能,py.test做的事情更少。
pytest 直接可以通過(guò) @pytest.mark.parametrize 進(jìn)行參數(shù)化,而unittest 則需要借助DDT。

4、nose

Nose是對(duì)unittest的擴(kuò)展,使得python的測(cè)試更加簡(jiǎn)單。nose自動(dòng)發(fā)現(xiàn)測(cè)試代碼并執(zhí)行,nose提供了大量的插件,比如測(cè)試輸出的xUnitcompatible,覆蓋報(bào)表等等。
基于Python的測(cè)試驅(qū)動(dòng)開發(fā)實(shí)戰(zhàn) 也有nose的用法: http://python.jobbole.com/81305/
還有一個(gè)特定就是,nose可以采用 @with_setup() 來(lái)定義方法的setup和teardown。

5、doctest

doctest模塊會(huì)搜索那些看起來(lái)像交互式會(huì)話的 Python 代碼片段,然后嘗試執(zhí)行并驗(yàn)證結(jié)果。

6、tox

最大的特色,是自動(dòng)最測(cè)試環(huán)境的管理以及使用多個(gè)解析器配置進(jìn)行測(cè)試。

tox的詳細(xì)文檔: http://testrun.org/tox/latest/

7、mock

unittest.mock是用來(lái)測(cè)試python的庫(kù)。

在python3.3版本以后,這個(gè)是一個(gè)標(biāo)準(zhǔn)庫(kù)。 對(duì)老版本來(lái)說(shuō),使用pip install mock 進(jìn)行安裝。

mock的精髓在于,你可以使用模擬的對(duì)象來(lái)替代你的系統(tǒng)的一部分,然后驗(yàn)證后續(xù)的執(zhí)行是否正確。
mock的詳細(xì)文檔:http://www.voidspace.org.uk/python/mock/

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

相關(guān)文章

  • Python搭建HTTP服務(wù)過(guò)程圖解

    Python搭建HTTP服務(wù)過(guò)程圖解

    這篇文章主要介紹了Python搭建HTTP服務(wù)過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 使用Nibabel庫(kù)對(duì)nii格式圖像的讀寫操作

    使用Nibabel庫(kù)對(duì)nii格式圖像的讀寫操作

    這篇文章主要介紹了使用Nibabel庫(kù)對(duì)nii格式圖像的讀寫操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Python中字符串的基礎(chǔ)介紹及常用操作總結(jié)

    Python中字符串的基礎(chǔ)介紹及常用操作總結(jié)

    字符串輸出格式與輸入的樣子相同,都是用撇號(hào)包裹,撇號(hào)和其它特殊字符用用反斜杠轉(zhuǎn)義。如果字符串中有單撇號(hào)而沒(méi)有雙撇號(hào)則用雙撇號(hào)包裹,否則應(yīng)該用單撇號(hào)包裹。后面要介紹的print語(yǔ)句可以不帶撇號(hào)或轉(zhuǎn)義輸出字符串
    2021-09-09
  • 理解python中裝飾器的作用

    理解python中裝飾器的作用

    python裝飾器就是用于拓展原來(lái)函數(shù)功能的一種函數(shù),這個(gè)函數(shù)的特殊之處在于它的返回值也是一個(gè)函數(shù),使用python裝飾器的好處就是在不用更改原函數(shù)的代碼前提下給函數(shù)增加新的功能
    2021-07-07
  • python實(shí)現(xiàn)360皮膚按鈕控件示例

    python實(shí)現(xiàn)360皮膚按鈕控件示例

    這篇文章主要介紹了python實(shí)現(xiàn)360皮膚按鈕控件示例,需要的朋友可以參考下
    2014-02-02
  • 在pycharm中設(shè)置顯示行數(shù)的方法

    在pycharm中設(shè)置顯示行數(shù)的方法

    今天小編就為大家分享一篇在pycharm中設(shè)置顯示行數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python的Flask框架標(biāo)配模板引擎Jinja2的使用教程

    Python的Flask框架標(biāo)配模板引擎Jinja2的使用教程

    Jinja2是Python世界的一款高人氣template engine,是許多開源Web框架的選擇,包括Flask這樣的明星級(jí)項(xiàng)目,這里我們就來(lái)共同學(xué)習(xí)Python的Flask框架標(biāo)配模板引擎Jinja2的使用教程
    2016-07-07
  • python實(shí)戰(zhàn)練習(xí)做一個(gè)隨機(jī)點(diǎn)名的程序

    python實(shí)戰(zhàn)練習(xí)做一個(gè)隨機(jī)點(diǎn)名的程序

    讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python實(shí)現(xiàn)一個(gè)隨機(jī)點(diǎn)名的程序,大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-10-10
  • 淺析Flask如何使用日志功能

    淺析Flask如何使用日志功能

    這篇文章主要為大家詳細(xì)介紹了Flask是如何使用日志功能的,文中的示例代碼講解詳細(xì),對(duì)我們深入了解Flask有一定的幫助,需要的可以參考一下
    2023-05-05
  • python數(shù)據(jù)處理實(shí)戰(zhàn)(必看篇)

    python數(shù)據(jù)處理實(shí)戰(zhàn)(必看篇)

    下面小編就為大家?guī)?lái)一篇python數(shù)據(jù)處理實(shí)戰(zhàn)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06

最新評(píng)論