如何对所有测试测试执行一次设置和拆卸功能?
def common_setup():
#time consuming code
pass
def common_teardown():
#tidy up
pass
def test_1():
pass
def test_2():
pass
#desired behavior
common_setup()
test_1()
test_2()
common_teardown()
请注意,在使用python 2.7.9-1,python-unittest2 0.5.1-1和python-nose 1.3.6-1后,存在一个similar question的答案。 pass
并添加第import unittest
行。
不幸的是,我的名声太低,无法评论。
答案 0 :(得分:3)
您可以拥有模块级别设置功能。根据{{3}}:
测试模块提供模块级设置和拆卸;定义方法 设置, setup_module ,setUp或setUpModule用于设置,拆卸, 用于拆卸的 teardown_module 或者tearDownModule。
因此,更具体地说,就你的情况而言:
def setup_module():
print "common_setup"
def teardown_module():
print "common_teardown"
def test_1():
print "test_1"
def test_2():
print "test_2"
运行测试为您提供:
$ nosetests common_setup_test.py -s -v
common_setup
common_setup_test.test_1 ... test_1
ok
common_setup_test.test_2 ... test_2
ok
common_teardown
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK
您选择的名称无关紧要,因此setup
和setup_module
的工作方式相同,但setup_module
更清晰。