Pytest Multiple @ pytest.mark.parametrize с одной настройкой - PullRequest
2 голосов
/ 27 февраля 2020

Прежде всего, мой английский sh беден, и я здесь новичок. Извините, если я что-то не так делаю.

У меня вопрос, если у меня есть несколько параметров, но я хочу вызвать setup_method только один раз для каждой функции test_function.

Однако он вызывает настройку всех параметров ( прецедент). Я не знаю, как решить эту проблему.

Вот мой код:

class Test_Class:

    def setup_method(self):    
        print("==========set up===========")


    @pytest.mark.parametrize('people', ['Mike','Alice','Bob'])
    @pytest.mark.parametrize('say', ['Hi','how is going on'])
    def test_function(self, people, say):
        print(people, say)


Вот результат

==========set up===========
Mike Hi

==========set up===========
Alice Hi

==========set up===========
Bob Hi

==========set up===========
Mike how is going on

==========set up===========
Alice how is going on

==========set up===========
Bob how is going on

Но я хочу результат как this :

==========set up===========
Mike Hi

Alice Hi

Bob Hi

==========set up===========
Mike how is going on

Alice how is going on

Bob how is going on

Функция настройки вызывается со следующим параметром.

Любые предложения будут очень полезны

Спасибо

1 Ответ

0 голосов
/ 27 февраля 2020

Я не уверен, что ваш подход правильный, это причина root. Обычно достаточно параметризации по умолчанию со списком или ключом: значение, попробуйте глубже изучить ваши цели. По моему мнению, вам нужно взглянуть на подход ключ: значение, например:

>>> a = ['Mike','Alice','Bob']
>>> b = ['Hi','how is going on']
>>> c = {x:a for x in b}
>>> c
{'Hi': ['Mike', 'Alice', 'Bob'], 'how is going on': ['Mike', 'Alice', 'Bob']}

подход -> Действие: [список имен]

Кроме того, вы можете подготовить свои данные, используя предварительно -условие, например в conftest.py, пожалуйста, прочитайте мой ответ здесь: { ссылка }

Если мои предложения не актуальны, поэтому, пожалуйста, приведите реальный пример, и я постараюсь помочь вам .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...