Как выполнить pytest паралельно через плагин xdist? - PullRequest
0 голосов
/ 14 июня 2019

Как я могу запускать мои pytests параллельно в нескольких пользовательских средах? У меня также есть pytest-xdist. Не уверен, что этот плагин помогает

test_test.py

@pytest.mark.env("env1", "env2", "env3")
def test_check(env):
    print("Chosen {} for test_check function".format(env))

@pytest.mark.env("env1", "env2")
def test_check2(env):
    print("Chosen {} for test_check2 function".format(env))

@pytest.mark.env("env1")
def test_check3(env):
    print("Chosen {} for test_check3 function".format(env))

Когда я запускаю команду:

pytest -v -s test_test.py --env env1

это мой вывод ...

collected 3 items                                                                                                                                              

conftest.py::test_check Chosen env1 for test_check function
PASSED
conftest.py::test_check2 Chosen env1 for test_check function
PASSED
conftest.py::test_check3 Chosen env1 for test_check function 
PASSED

============================================================= 3 passed in 0.02 seconds ==============================================================

Схоже, когда я запускаю команду:

pytest -v -s test_test.py --env env2

это мой вывод ...

collected 2 items                                                                                                                                              

conftest.py::test_check Chosen env2 for test_check function
PASSED
conftest.py::test_check2 Chosen env2 for test_check function
PASSED

============================================================= 2 passed in 0.02 seconds ==============================================================

У меня здесь 2 требования,

  1. Я хочу запустить более одной среды для одновременного запуска
  2. Он должен работать паралельно

Итак, я выбрал плагин xdist; но я не уверен, смогу ли я работать с моими примерами. Можно ли запустить с xdist для моего примера?

Мне нужно что-то вроде этого ...

pytest -v -s -d --tx test_test.py --env env1 --env env2

для запуска обоих env1, env2 паралельно

...