国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Python > 正文

python 幾種常用測(cè)試框架

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

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

2.1 Unittest

unittest是Python內(nèi)置的標(biāo)準(zhǔn)類庫。它的API跟java的JUnit、.net的NUnit,C++的CppUnit很相似。

通過繼承unittest.TestCase來創(chuàng)建一個(gè)測(cè)試用例。

具體請(qǐng)參考 文檔 。

舉個(gè)例:

import unittestdef fun(x):    return x + 1class MyTest(unittest.TestCase):    def test(self):        self.assertEqual(fun(3), 4)

執(zhí)行后成功。

但是,如果將期望的結(jié)果改成5,則執(zhí)行的結(jié)果如下圖所示:

2.2 Doctest

doctest 模塊會(huì)搜索那些看起來像交互式會(huì)話的 Python 代碼片段,然后嘗試執(zhí)行并驗(yàn)證結(jié)果.即使從沒接觸過 doctest,我們也可以從這個(gè)名字中窺到一絲端倪。“它看起來就像代碼里的文檔字符串(docstring)一樣” 如果你這么想的話,就已經(jīng)對(duì)了一半了。

舉個(gè)例子:

def square(x):    """Squares x.    >>> square(2)    4    >>> square(-2)    4    >>> square(5)    25    """    return x * xif __name__ == '__main__':    import doctest    doctest.testmod()

當(dāng)執(zhí)行該代碼后,會(huì)執(zhí)行文檔內(nèi)>>> 后面的測(cè)試代碼,并與下一行的結(jié)果進(jìn)行比對(duì)。執(zhí)行的結(jié)果如下:

但是,如果我們把結(jié)果改一下,square(2)的結(jié)果改成5,測(cè)試代碼如下:

def square(x):    """Squares x.    >>> square(2)    5    >>> square(-2)    4    >>> square(5)    25    """    return x * xif __name__ == '__main__':    import doctest    doctest.testmod()

執(zhí)行的測(cè)試結(jié)果如下所示:

2.3 py.test

py.test是unittest的替代工具。

盡管它是一個(gè)功能豐富、靈活的測(cè)試框架,但是它的語法很簡單。創(chuàng)建一個(gè)單元測(cè)試就像編寫一個(gè)模塊一樣。相比unittest,實(shí)現(xiàn)相同的測(cè)試功能,py.test做的事情更少。

py.test詳細(xì) 文檔 。

首先,安裝py.test

pip install pytest

第二步,編寫測(cè)試代碼

def func(x):    return x + 1def test_answer():    assert func(3) == 5

第三步,執(zhí)行測(cè)試代碼。

  找到pytest安裝路徑。用其所在的解析器(python.exe)執(zhí)行test.py ,執(zhí)行命令比如:

執(zhí)行的結(jié)果如下圖所示:

2.4 Nose

Nose是對(duì)unittest的擴(kuò)展,使得python的測(cè)試更加簡單。nose自動(dòng)發(fā)現(xiàn)測(cè)試代碼并執(zhí)行,nose提供了大量的插件,比如測(cè)試輸出的xUnitcompatible,覆蓋報(bào)表等等。

nose的詳細(xì)文檔: https://nose.readthedocs.org/en/latest/

注意:nose本身是支持python3的,但是很多它的插件不支持。

2.5 tox

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

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

2.6  Unittest2

是unitest的升級(jí)版。對(duì)API進(jìn)行了改善以及更好的診斷語法。

unittest2的詳細(xì)文檔: https://pypi.python.org/pypi/unittest2

首先,安裝

pip install unittest2

為了以后能在unittest與unittest2之間進(jìn)行切換,最好的代碼編寫方式如下:

import unittest2 as unittestclass MyTest(unittest.TestCase):    ...

2.7 mock unittest.mock是用來測(cè)試python的庫。在python3.3版本以后,這個(gè)是一個(gè)標(biāo)準(zhǔn)庫。對(duì)老版本來說,使用pip install mock 進(jìn)行安裝。

mock的精髓在于,你可以使用模擬的對(duì)象來替代你的系統(tǒng)的一部分,然后驗(yàn)證后續(xù)的執(zhí)行是否正確。
mock的詳細(xì)文檔:http://www.voidspace.org.uk/python/mock/
下一篇我們重點(diǎn)講講nose的使用方法。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
超碰97国产精品人人cao| av在线1区2区| www久久日com| 久热免费在线视频| 精品孕妇一区二区三区| 天堂中文在线视频| 国产粉嫩一区二区三区在线观看| 中文字幕第一页在线| 成人欧美精品久久久久影院| 国产精品久久麻豆| 天堂在线看视频| 最近中文字幕在线中文视频 | 在线天堂av| a视频在线观看免费| 欧美日韩视频精品二区| 成人免费一区二区三区牛牛 | 国产麻豆一级片| 国产二区在线播放| 狠狠色综合久久婷婷| 国产经典av| 狠狠干婷婷色| 精品国产免费观看一区| 欧美性猛交p30| 国产精品视频一区麻豆| 国产秒拍福利视频露脸| 精品福利影院| 轻轻色免费在线视频| 国产在线观看色| av高清资源| 国产亚洲依依| 国产精品一区二区三区视频网站 | 国产视频福利| www.国产精品.com| 97国产视频| 国产精品臀控福利在线观看| 碰草在线视频| 一本免费视频| 国产高清免费视频| 国产在线观看18| 日本欧美在线视频免费观看| 精品视频三区| 精品视频二区三区| 一本久中文高清| 亚洲va国产日韩欧美精品色婷婷| 91欧美在线视频| 91视频久色| 精品国内自产拍在线视频| 国产精品伦理一区二区三区| 国产精品秘入口| 最新中文字幕av专区| 最新国产在线| 免费不卡中文字幕视频 | 日本高清中文字幕二区在线| 69精品视频| 国产免费福利网站| 国产美女在线免费观看| 中中文字幕av在线| 国产精品伦一区二区三区视频 | 在线天堂中文| 在线观看中文字幕一区| 亚洲91av| www.eeuss影院| 老鸭窝av在线| 国产精品欧美色图| 亚洲欧美日韩成人网| 免费在线高清av| 午夜伦全在线观看| 精品一区二区三区在线观看l| 91嫩草在线播放| xxxxx中文字幕| 午夜视频在线观看网站午夜视频在线| 尤物视频网站在线观看| 国产黄网站在线观看| 在线国产中文字幕| 国产美女性感在线观看懂色av| 国产一卡2卡3卡四卡网站| 国产精品69一区二区三区| 天堂网中文在线| 国产视频1区| 超碰免费在线| 午夜影院在线| 2020亚洲男人天堂| 久久精品蜜桃| 国产盗摄一区二区| 久久这里精品| 日韩不卡高清| av网站大全在线| 国产福利电影在线| 国产亚洲精品久久久久久青梅 | 日本片在线看| 精品亚洲成a人片在线观看| 91超碰免费在线| 日本动漫同人动漫在线观看| 2019年中文字幕| 国产欧美日韩精品综合| 国产在线日本| 天天干天天操天天爽| 国产www视频在线观看| 天堂在线免费观看| av在线不卡网站| 精品卡一卡卡2卡3网站| 国产午夜电影| 国产麻豆精品入口在线观看| 看成年女人免费午夜视频| av在线不卡网站| 亚洲第一成人在线视频| 四虎国产精品永久地址998| 国产精品扒开做爽爽爽的视频| 国产网站免费观看| 中文字幕不卡免费视频| 国产有码在线| 国产美女在线看| 中文字幕不卡免费视频| 国产精品免费视频二三区| 国产男女无套在线播放| 国产老肥熟xxxx在线观看| 午夜国产视频| 国产精品人人| 亚洲大香人伊一本线| 免费一区二区三区视频狠狠| 国产在线视频福利| 国产高清自拍视频在线观看| 在线免费黄色毛片| 久久精品国产亚洲777| 国产一卡2卡3卡四卡网站| 国产白浆在线| 免费的黄网站在线观看| 国产一区二区三区美女秒播| 91在线超碰| 青青草原国产在线观看| 最新天堂资源在线资源| av免费网站在线观看| 日本电影全部在线观看网站视频| 九九热视频在线观看| 国产福利三区| 国产永久免费高清在线观看| 精品麻豆视频| 午夜国产在线| 久久国产情侣| heisi视频网在线观看| 国产精品美女一区二区三区四区| а√最新版地址在线天堂| 国产精品视频流白浆免费视频| av在线播放av| 国产三级在线免费| www.操.com| 136福利第一导航国产在线| 国产69精品久久久久孕妇国产69久久 | 2021av天天| 中文字幕在线视频免费观看| www.xxx黄| 亚洲人av在线| 在线视频婷婷| 精品亚洲综合| 国产不卡视频| 国产极品嫩模在线视频一区| 久久国产热视频| av黄色在线观看| 中文在线观看视频| 国产95在线|亚洲| 国产午夜在线| 国产精品久久在线| 国产激情99| 99热99re6国产在线播放| 国产网站免费观看| 国产三线在线| 国产黄色av免费看| 国产爆初菊在线观看免费视频网站 | 美女被人操视频在线观看| 伊人免费在线| av免费在线免费| 亚洲成人av高清| www.九九热.com| 国产在线www| 国产网红在线| 91资源在线观看| 香蕉视频在线看| 久热中文字幕| 国产网站在线免费观看| 国产精品久久久久永久免费看| 国产高清视频在线| 在线黄色国产电影| 狠狠干天天干| 91亚洲欧美| 青青青青在线| 国产亚洲精品自在线观看| 国产极品嫩模在线视频一区| av丝袜在线| 最新av中文字幕| 99热99re6国产在线播放| 久草在线资源福利| 国产对白国语对白| h网站久久久| 国产精品xxx电影| 任你操视频在线观看| 国产精品剧情一区二区三区| 本道综合精品| 国产成免费视频| 丁香视频五月| 在线天堂视频|