其他分享
首页 > 其他分享> > 我如何为所有的鼻子测试定义一个设置功能?

我如何为所有的鼻子测试定义一个设置功能?

作者:互联网

我正在将Google App Engine与python结合使用,并希望使用nasetest运行一些测试.
我希望每个测试都运行相同的设置功能.我已经进行了很多测试,所以我不想全部通过测试并复制并粘贴相同的功能.我可以在某个地方定义一个设置功能,并且每个测试都会首先运行它吗?

谢谢.

解决方法:

您可以编写设置函数并使用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

标签:nosetests,python
来源: https://codeday.me/bug/20191127/2075752.html