具有用于测试的通用设置功能

时间:2014-12-04 04:42:01

标签: testing installation nose teardown

所以我有一个脚本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"相同的目录中。

基本上,目标是对一堆测试用例进行常规设置和拆解。

1 个答案:

答案 0 :(得分:0)

setup_functeardown_func没有什么神奇之处。如果它调用init.py__init__,您可以通过从任何模块导入它们来实现这一点。我建议你把它放在其他模块中,比如test_setup.py,因为你可能不希望在测试模块的包级别上有这些定义,并且"显式优于隐式"哲学将得到执行。

ADDED:但是,这里有一个更大的问题:with_setup仅适用于测试函数,不适用于测试方法或子类内部。如上所述,在您的代码中,无论在何处指定,setup函数都不会被调用,请参阅here

如果您打算将测试作为类方法,则必须依赖unittestsetUptearDown方法。如果您愿意,可以从特殊的安装类继承测试类,并再次使用同一个特殊类进行不同的测试。