我使用谷歌应用程序引擎Python和希望运行使用nosetest一些测试。 我想每个测试运行相同的设置功能。 我已经有很多的测试,所以我不想去通过所有这些,复制和粘贴功能相同。 我可以定义一个地方设置功能,每个测试将首先运行呢?
谢谢。
我使用谷歌应用程序引擎Python和希望运行使用nosetest一些测试。 我想每个测试运行相同的设置功能。 我已经有很多的测试,所以我不想去通过所有这些,复制和粘贴功能相同。 我可以定义一个地方设置功能,每个测试将首先运行呢?
谢谢。
你可以写你的设置功能,并使用应用它with_setup
装饰:
from nose.tools import with_setup
def my_setup():
...
@with_setup(my_setup)
def test_one():
...
@with_setup(my_setup)
def test_two():
...
如果您想使用相同的设置几个测试情况下,你可以使用类似的方法。 首先,你创建的设置功能,那么你将它应用到所有带有装饰的的TestCases:
def my_setup(self):
#do the setup for the test-case
def apply_setup(setup_func):
def wrap(cls):
cls.setup = setup_func
return cls
return wrap
@apply_setup(my_setup)
class MyTestCaseOne(unittest.TestCase):
def test_one(self):
...
def test_two(self):
...
@apply_setup(my_setup)
class MyTestCaseTwo(unittest.TestCase):
def test_one(self):
...
或者另一种方式可以是简单地分配你的设置:
class MyTestCaseOne(unittest.TestCase):
setup = my_setup