閱讀《Practical Programming -An Introduction to Computer Science Using Python》一書(shū)時(shí),在第4章提到了使用Nose對(duì)Python代碼進(jìn)行測(cè)試,因而小試牛刀了一下。 --------------------------------------------------------------------------------------------------------- 安裝正常情況下,安裝步驟如下:
注:這里的C:\Python27,是指python所在的文件夾,如果不同可以更改!
但是,現(xiàn)在我這里有兩個(gè)問(wèn)題:
沒(méi)辦法,只有去找別的安裝nose的方法,于是找到了這篇博文,介紹的安裝的方法不是通過(guò)setuptools在線安裝,而是如下:
按此步驟試了,不過(guò)setup后卻提示安裝error了,運(yùn)行如下代碼測(cè)試時(shí)果然有問(wèn)題: [python] view plaincopy
運(yùn)行后提示: [python] view plaincopy
網(wǎng)上找了半天還是沒(méi)找到啥問(wèn)題,也是是nose就沒(méi)安裝上。沒(méi)辦法,只好從頭再來(lái),到了晚上用上面說(shuō)的正常情況下的安裝步驟進(jìn)行安裝,這次竟然成功了~ 不過(guò)是安裝python2.7版本的nose。 --------------------------------------------------------------------------------------------------------- 使用 本次使用主要是用書(shū)上的例子進(jìn)行的測(cè)試。測(cè)試文件的名字以“test”開(kāi)始,Nose運(yùn)行時(shí),它會(huì)自動(dòng)尋找以“test”開(kāi)始的文件。每個(gè)Nose測(cè)試模塊都應(yīng)該包含以下內(nèi)容:
測(cè)試函數(shù)的名稱也必須以“test”開(kāi)頭。 待測(cè)模塊temperature.py代碼如下: [python] view plaincopy
測(cè)試模塊test_temperature.py代碼如下: [python] view plaincopy
上面這段代碼執(zhí)行之后,每個(gè)測(cè)試都會(huì)得出以下三種結(jié)果之一:
上面的函數(shù)test_above_freezing中有3條assert語(yǔ)句,但Nose還是會(huì)認(rèn)為這只是一個(gè)測(cè)試,這是因?yàn)?,?duì)Nose而言,每個(gè)函數(shù)就是一個(gè)測(cè)試,一個(gè)函數(shù)想要測(cè)試多少東西那是函數(shù)自己的事情。這樣有個(gè)缺點(diǎn)就是當(dāng)其中的某個(gè)斷言失敗時(shí),python就會(huì)立即停止執(zhí)行它所在的函數(shù)。也就是說(shuō),如果test_above_freezing中的第一個(gè)測(cè)試就失敗了,我們將無(wú)法得到其他測(cè)試的任何信息。因此通常的做法是編寫(xiě)許多小的測(cè)試函數(shù),分別只測(cè)試少量的東西,而不是在其中放上一大堆各種各樣的斷言。 --------------------------------------------------------------------------------------------------------- 參考1. 《Practical Programming -An Introduction to Computer Science Using Python》 4. 《Testing with nose》 |
|
來(lái)自: 昵稱21368145 > 《待分類1》