是否可以使用“ Setup-geterator-functions”进行鼻子测试?

时间:2019-02-20 05:58:37

标签: python nose

我有一个具有各种版本的应用程序X,例如-a,b和c。

我正在使用鼻子(我别无选择,鼻子是我工作场所中的“选择一个”),以一种黑盒的方式测试X的功能。

现在,我编写了一个测试-“ test_feature1_of_X”。我的意图是能够针对X的所有版本(即a,b和c)运行此测试。

我的第一个想法是进行生成器测试,但是对于每个版本都需要完成一个设置,每个版本可能有所不同,所以我在考虑是否有可能具有一个将运行3次,每次运行后,一次设置一个X版本,然后所有测试都在该程序包中运行。

鼻子还可以吗?如果是,怎么办?

当前进度:

因此,花了一天的时间解决问题后,我正在尝试以下方法,不确定是否能解决问题,所以...可以纠正我。

class randomTest(someBaseTest):

    def setup_for_V_a(self):
        # do setup

    def teardown_for_V_a(self):
        # do teardown

    @with_setup(setup_for_V_a, teardown_for_V_a)
    def test_generator_for_V_a(self):
        yield test_all, self

    def setup_for_V_b(self):
        # do setup

    def teardown_for_V_b(self):
        # do teardown

    @with_setup(setup_for_V_b, teardown_for_V_b)
    def test_generator_for_V_b(self):
        yield test_all, self

    def test_all(self):
        yield first_featuretest, self
        yield second_featuretest, self

    def first_featuretest(self):
        # test feature unu

    def second_test(self):
        # test feature du

为什么这个设置不是一个好主意?

请原谅我对Python的任何新错误。

0 个答案:

没有答案