Возможно ли иметь «Setup-geterator-functions» для тестирования носа? - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть приложение 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

Почему эта установка не очень хорошая идея?

Прости меня за любой грех в питоне, новый (очень) для языка.

...