我創建了一個Python類Test_getFileSize爲使用鼻對於Python鼻試驗班:什麼是傳遞可選參數的正確方法
相關章節:和
def __init__(self,mytestfile="./filetest",testsize=102400):
''' Constructor'''
print " Running __init__", testsize,mytestfile
self.testsize=testsize
self.mytestfile = mytestfile
主力方法:
@with_setup(setUp, tearDown)
def test_getFileSize(self):
from nose.tools import ok_, eq_,with_setup
import mp4
with open(self.mytestfile,"rb") as out:
filesize=mp4.getFileSize(out)
eq_(self.testsize,filesize,msg='Passed Test size')
print "Results ", filesize,self.testsize
如果我對包含此類的文件運行nosetest,它會使用默認值和正確的setUp和tearDown方法正確地測試類。問題是,當我編寫一個類來做這件事時,setUp方法永遠不會運行。
我想要做的就是測試不同的文件大小(即傳遞文件大小的值)。
如果有更好的方法來做到這一點,我全都耳熟能詳。如果可能,我寧願不通過命令行來完成。
感謝 吉姆
你好,我調查了你的方法,我發現我有一個問題吧:我用的是類結構一種傳遞參數的方法(在這種情況下,文件名和大小)來設置。我失去了功能切換到功能。有沒有更清潔的選擇,使用全球? –
您可以使用元類來生成基於迭代器的新方法 - 假設您在創建測試類的實例之前知道要測試的內容。 – chander
以前從未使用過元類。對我的蟒蛇來說,仍然有點像paduwan。你能推薦一個好的資源嗎?謝謝 –