Рельсы распределяют параллельные тесты
Как я могу запускать тесты paralell на двухъядерных машинах, подключенных через SSH в одной сети?
https://github.com/grosser/parallel_tests отлично работает для локальных работников, но нет возможности запускать его на нескольких машинах
https://github.com/qxjit/deep-test - Мне не повезло, если вы запустили его, есть строка в примере, например
t.distributed_hosts
который вызывает ошибку
С Hydra у меня возникла проблема, ожидающая вечно работы ssh
Я попробовал альфа-версию Buffet, создал тестовое репо и запустил его, но не повезло
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
Я хочу запускать только стандартные модульные/интеграционные/функциональные тесты
Никаких причудливых вещей.
Ответы
Ответ 1
Вы можете проверить Testributor.
Он создан для этой цели. Он позволяет запускать тесты параллельно с использованием многих ядер на определенном компьютере или на нескольких компьютерах с автоматической балансировкой и распределением нагрузки.
Он создает файл компоновки докеров, используя выбранные вами технологии.
Вам просто нужно загрузить файл компоновки докеров и запустить его с помощью Docker с помощью docker-compose up
.
Что все.
Отказ от ответственности: я являюсь веб-разработчиком в Testributor. Но я действительно думаю, что это может вам помочь.
Ответ 2
Пробуйте http://test-load-balancer.github.io/ Я имел большой успех в этом в прошлом.
Ответ 3
Если вы готовы запускать свои тесты в размещенном CI-сервисе, то есть немало хороших вариантов. Чтобы перечислить несколько здесь, в определенном порядке:
Я пробовал все из них в моих проектах на разных уровнях, и все они хорошо работают. Различия были бы в основном в том, как оцениваются услуги. Если вы не возражаете платить за подписки, лучше было бы полагаться на эти услуги, вместо того чтобы пытаться справиться с трудностями в разделении тестов на процессы. Конечно, исключение было бы, если бы вы делали это в достаточно больших масштабах, что могло бы оправдать экономию средств в этом случае.
Некоторые другие моменты, о которых нужно помнить:
- parallelism в рамках одного и того же процесса все равно может дать вам хорошие результаты в достаточно плотной коробке (с большим количеством ядер) без особых усилий, это должен быть ваш первый chocie, если у вас уже не было варианта.
- Если ваша конечная цель - ускорить тесты, посмотрите на некоторые преимущества, которые предлагает Travis-CI с лучшей файловой системой и в базе данных памяти. (Я не уверен в этом)
- Если вы все еще планируете самостоятельно настраивать это, вы должны посмотреть GoCD в сочетании с TestLoadBalancer (упоминалось ранее).
- Имейте в виду, если проблема, которую вы пытаетесь решить, - это растущий набор тестов на достаточно большом проекте, вам может потребоваться активно задуматься о логическом разделении тестовых наборов и фактически ускорить их, поскольку parallelism удается только отложить конечная проблема длинного набора тестов, он не решает его полностью.
Ответ 4
Хотя это не особенно связано с тем, как запускать parallel_tests на нескольких компьютерах в сети, вот те проблемы, с которыми я столкнулся, и как я их решал при использовании parallel_test.
тесты будут убиты в середине прогона с помощью parallel_tests
Ответ 5
Я думаю, проблема в конфигурации git. проверьте конфигурацию git
попробуйте эту ссылку
Каков наилучший способ работы с Github и несколькими компьютерами?
Ответ 6
Вы также можете использовать Shippable http://www.shippable.com непрерывную службу для параллельного тестирования