我已经阅读了;我能找到的最接近的是提到不支持使用生成器函数和装饰器函数
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 遵循但与问题无关。