所以我有一个脚本test.py
from nose.tools import with_setup
class Test:
@with_setup(setup_func, teardown_func)
def test(self):
print "Hello World"
我可以将 init .py中定义的setup_func()和teardown_func()放在与" test.py"相同的目录中。
基本上,目标是对一堆测试用例进行常规设置和拆解。
答案 0 :(得分:0)
setup_func
和teardown_func
没有什么神奇之处。如果它调用init.py
或__init__
,您可以通过从任何模块导入它们来实现这一点。我建议你把它放在其他模块中,比如test_setup.py
,因为你可能不希望在测试模块的包级别上有这些定义,并且"显式优于隐式"哲学将得到执行。
ADDED:但是,这里有一个更大的问题:with_setup
仅适用于测试函数,不适用于测试方法或子类内部。如上所述,在您的代码中,无论在何处指定,setup
函数都不会被调用,请参阅here。
如果您打算将测试作为类方法,则必须依赖unittest的setUp
和tearDown
方法。如果您愿意,可以从特殊的安装类继承测试类,并再次使用同一个特殊类进行不同的测试。