私は読んだことがあります。私が見つけることができる最も近いものは、ジェネレーター関数とデコレーター関数の使用がサポートされていないという言及です
class getsize
メソッドで:setUp
tearDown
とgetfilesize
鼻with_setup(setUp,tearDown)
で .
getsize class
また、ループを使用して のインスタンスを作成し、メソッド を呼び出す個別の生成関数 (同じファイル内) もあります getfilesize
。
経由でファイルを実行するnosetests;
と、 @with_setup は、ノーズがクラスを実行するときにのみ実行されることがわかりました。
ジェネレーター関数を実行すると; アクセスされることはありません。回避策として、setUp
andtearDown
メソッドの呼び出しを追加します。これは本当に私を悩ませており、答えを突き止めるためにかなりの努力をしました。
[追加] これはコード セクションです。
class Test_getFileSize:
import logging
from nose.tools import with_setup
log = logging.getLogger("Test getfilesize")
def setUp(self):
print " running Setup",self.testsize
with open(self.mytestfile, "wb") as out:
out.seek(self.testsize-1)
out.write('0')
out.close()
def tearDown(self):
import os
print "Running tearDown"
os.remove(self.mytestfile)
@with_setup(setUp,tearDown)
def test_getFileSize(self):`
[このメソッドの残りと init は続きますが、質問には関係ありません。