如何定义在使用 nosetest 进行测试期间只调用一次的设置方法?
How to define a setup method only called once during testing with nosetest?
我运行正在 nosetests
中使用不同模块(文件)中的测试用例,每个模块(文件)都包含不同的测试。
我想定义一个 function/method,在 nosetest
执行期间只调用一次。
我查看了 documentation (and e.g. ),发现有 setup_module
等方法 - 但在哪里以及如何使用它们?将它们放入我的__init__.py
?还有别的吗?
我尝试使用以下内容:
class TestSuite(basicsuite.BasicSuite):
def setup_module(self):
print("MODULE")
...
但是当我 运行 使用 nosetest
进行测试时,此打印输出从未完成。我也没有从 unittest.TestCase
派生(这会导致错误)。
查看包级别时,您可以在该包的 __init__.py
中定义一个名为 setup
的函数。调用这个包中的测试,调用一次__init__.py
中的setup
函数。
示例设置
- package
- __init__.py
- test1.py
- test2.py
参见 documentation 部分 'Test packages'。
试试这个
from nose import with_setup
def my_setup_function():
print ("my_setup_function")
def my_teardown_function():
print ("my_teardown_function")
@with_setup(my_setup_function, my_teardown_function)
def test_my_cool_test():
assert my_function() == 'expected_result'
求助^^
我运行正在 nosetests
中使用不同模块(文件)中的测试用例,每个模块(文件)都包含不同的测试。
我想定义一个 function/method,在 nosetest
执行期间只调用一次。
我查看了 documentation (and e.g. setup_module
等方法 - 但在哪里以及如何使用它们?将它们放入我的__init__.py
?还有别的吗?
我尝试使用以下内容:
class TestSuite(basicsuite.BasicSuite):
def setup_module(self):
print("MODULE")
...
但是当我 运行 使用 nosetest
进行测试时,此打印输出从未完成。我也没有从 unittest.TestCase
派生(这会导致错误)。
查看包级别时,您可以在该包的 __init__.py
中定义一个名为 setup
的函数。调用这个包中的测试,调用一次__init__.py
中的setup
函数。
示例设置
- package
- __init__.py
- test1.py
- test2.py
参见 documentation 部分 'Test packages'。
试试这个
from nose import with_setup
def my_setup_function():
print ("my_setup_function")
def my_teardown_function():
print ("my_teardown_function")
@with_setup(my_setup_function, my_teardown_function)
def test_my_cool_test():
assert my_function() == 'expected_result'
求助^^