Выполнение юнит-теста Python через LSF

Мне нужно распараллелить мои юнит-тесты на python, которые я написал, используя модуль unittest по умолчанию. Я пытаюсь выбрать между двумя подходами:

  1. продолжайте использовать unittest, но используйте настраиваемый многопроцессорный раннер, который может порождать тест с использованием Platform LSF (инструмент удаленного выполнения), пример можно найти в проекте TestOOB.
  2. Используйте py.test и настройте плагин pytest-xdist для запуска LSF вместо SSH.

Я склоняюсь к #1, так как у меня уже есть рабочая установка, и в частности генерация тестового набора (который использует генератор, который анализирует электронную таблицу Excel и не является тривиальным)

Любая рекомендация по конкретному подходу следовать?

Примечание: моя компания использует LSF, и я должен использовать его для обмена ресурсами с другими командами.

1 ответ

Сначала я бы попытался просто установить "pytest-xdist" из pypi и запустить существующие тесты с "py.test -n 5" в 5 параллельных процессах. Если это в основном работает, это означает, что модификация pytest-xdist для использования транспорта LSF является целесообразным вариантом. По сути, вам нужно изучить расширение execnet (http://codespeak.net/execnet), которое является базовой библиотекой для распределения выполнения. НТН.

Другие вопросы по тегам