pytest-xdist генерирует случайные и уникальные порты для каждого теста - PullRequest
0 голосов
/ 10 ноября 2018

Я использую плагин pytest-xdist для запуска некоторого теста, используя @pytest.mark.parametrize для запуска того же теста с другими параметрами.

В рамках этих тестов мне нужно открывать / закрывать веб-серверы, и порты создаются во время сбора.

xdist выполняет сбор тестов на ведомом устройстве, и они не синхронизируются, так как я могу гарантировать уникальность для генерации порта.

Я могу использовать один и тот же порт для каждого ведомого, но я не знаю, как это заархивировать.

1 Ответ

0 голосов
/ 13 ноября 2018

Я понял, что не дал достаточно информации относительно моей проблемы.

Я создал один параметризованный тест, используя @pytest.mark.parametrize, и перед тестом я собираю список параметров, собираю запросы к веб-серверу и получаю список «заданий» для обработки.

Каждый тест содержит информацию о порте, к которому он должен привязаться, выполнить некоторую работу и выйти, потому что тесты выполняются параллельно. Мне нужно убедиться, что порты будут разными.

В конце концов, я проверяю, что идентификаторы заданий будут в ранде 1024-65000, и использовал их для порта.

...