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

首頁 > 編程 > Python > 正文

python 幾種常用測試框架

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

二、常見的測試框架

2.1 Unittest

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

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

具體請(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)>>> 后面的測試代碼,并與下一行的結(jié)果進(jìn)行比對(duì)。執(zhí)行的結(jié)果如下:

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

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

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

2.3 py.test

py.test是unittest的替代工具。

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

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

首先,安裝py.test

pip install pytest

第二步,編寫測試代碼

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

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

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

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

2.4 Nose

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

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

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

2.5 tox

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

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是用來測試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| 五月天天在线| 国产在线资源| 福利视频在线看| 狠狠操视频网| 激情丁香久久| 国产精品午夜久久久久久| 在线午夜视频| 精品国产高清a毛片无毒不卡| 精品一区二区三区高清免费不卡| 在线亚洲精品自拍| 免费在线看v| 国产在线观看18| 国产无遮挡又黄又爽免费软件| 综合图区亚洲白拍在线| 最近最好的中文字幕2019免费 | 黄色一级视频网站| 国产精品㊣新片速递bt | 青青草在线视频免费观看| 国产成人午夜精品| 中文国产字幕在线观看| 牛牛在线精品视频| 国产系列在线观看| 亚洲网站一区| 天天操天天操一操| av日韩国产| 国产乱妇乱子| 亚洲第一区视频| 国产午夜在线| 免费影视观看网站入口| 国产9色视频| 久草电影在线| 亚洲v片在线观看| 最好看更新中文字幕| 国产激情视频一区二区三区| 人人在线视频| 精品视频vs精品视频| 国产麻豆麻豆| 就爱干草视频| 欧美国产中文| av日韩国产| 国产精品白浆流出视频| 高潮白浆视频| 日本片在线看| 伊人影院在线观看| 国产高清视频在线观看| 最近高清中文在线字幕在线观看 | 国产你懂的在线观看| 永久免费av网站| 精品亚洲成a人片在线观看| 1区2区3区在线| 国产免费av在线| 国产中文字幕av| 国产理论在线观看| 尤物在线网址| 国产精品久久久久白浆| 国产成人精品自线拍| 国产精品视频一区二区三区麻豆| 国产在线传媒| 88av在线| 国产偷窥洗澡视频| 国产超碰精品在线观看| 99在线播放| 99久久国产视频| sm国产在线调教视频| 超碰97在线免费观看| 麻豆电影传媒二区| 尤物视频网站在线观看| 国产精品久久久高清免费| 精品视频二区| 免费看ww视频网站入口| 综合蜜桃精品| 国产对白国语对白| 日本久久国产| 国产精品入口免费麻豆| 国产免费福利| 在线中文免费视频| 久久综合精品视频| 91av资源在线| 亚洲最新永久观看在线| 国产毛片毛片毛片| 国产福利片在线| 青青草在线播放| 国产精品秘入口| 白浆爆出在线观看| 国产精品白浆视频免费观看| av免费在线观| 中文字幕在线视频不卡| 国产a国产a国产a| 国产女人在线观看| 四虎影视成人永久免费观看视频| 成人av小说网| 羞羞视频在线观看免费| 开心丁香婷婷深爱五月| 国产高清av在线| 国产在线一二三| 羞羞视频在线免费看| 精品一二三四| 国产香蕉免费精品视频| 欧美成人亚洲高清在线观看| 国产黄色免费看| 国产午夜精品久久久久免费视| 青青久草在线| 四虎成人免费| 亚洲视频精品在线观看| 国产成人高清精品| 国产娇喘精品一区二区三区图片| 国产乱码在线| 男人天堂99| www在线视频| 久热精品免费视频| 欧美日韩不卡中文字幕在线| 亚洲电影先锋| 日本免费一二区| 女同一区二区免费aⅴ| 日本久久国产| 九九久久久2| 国产精品一区二区三区视频网站| 久久精品无码一区二区日韩av| 欧美性xxxx交| 国产中文在线| 久草.com| 日本最新在线视频| v天堂福利视频在线观看| 亚洲成人国产综合| 久久五月精品中文字幕| 中文字幕日本在线观看| 国产探花视频在线观看| 91激情在线| 青青草免费在线观看| 国产在线看片| 国产精品美女视频免费观看软件| 国产高清在线观看| 亚洲sss视频| 高潮白浆视频| 精品福利影院| 九九热视频在线| 国产黄在线播放| 96久久久久久| 国产真实伦在线观看| 国产网站麻豆精品视频| 一本免费视频| 国产一级二级在线| 爱福利在线视频| 国产三级香港三韩国三级| 在线免费日韩| 好男人免费精品视频| 国产精品国精产品一二| 天天草天天干| 国产www网站| 国产精选一区二区三区不卡催乳| 97在线超碰| 国产精品久久久久白浆| 亚洲尤物在线视频| 国产偷窥洗澡视频| 美女被人操视频在线观看| 国产精品日日爱| 激情综合网五月激情| 在线中文字幕观看| 国产高清视频在线| 中文字幕欧美日韩在线不卡| www.香蕉视频在线观看| 在线观看电影av| 中文在线观看视频| 国产xxxxx| 国产激情在线| 国产精品入口麻豆完整版| 懂色av中文在线| 亚洲网站视频在线观看| 国产va在线| 中文乱码字幕高清在线观看| 91美女在线| 亚洲精品天堂在线观看| 亚洲xxxxxx| www.麻豆av.com| 亚洲精品白浆| 伊人网站在线| 麻豆国产视频| 午夜视频在线看| 国产福利在线视频| 在线观看免费高清完整| 夜色资源网av在先锋网站观看| 97视频在线观看网站| 国产娇喘精品一区二区三区图片| 国产欧美日韩精品综合| 2019中文字幕视频| 一本大道久久精品| 欧美日韩亚洲国内综合网| 久久久久久久久免费视频| 激情六月婷婷| 国产精品69一区二区三区| 国产黄色av免费看| 亚洲精品天堂在线| 久久精品国产亚洲a∨麻豆| 成人av小说网| 97一区二区三区| 麻豆视频国产| 9999在线视频| wwww亚洲|