Параллельные тесты огурца не работают только в CI

Я работаю в устаревшем ROR-приложении с большим количеством тестовых покрытий, поэтому для выполнения всех rspec_cucumber в нашем семафорном CI потребуется около 1:30 часов. поэтому мы реализовали [Parallel_test] [1]

[1]: https://github.com/grosser/parallel_tests. Драгоценный камень и много раз некоторые технические характеристики или сценарий не работают только в среде CI. Когда мы повторно запускаем один и тот же тестовый пример в локальной и семафорной среде SSH, передается та же самая спецификация.

Наиболее распространенная ошибка в журнале для среды CI Capybara::ElementNotFound: трудно определить основную причину проблемы. Есть какие-нибудь подсказки по этому поводу?

1 ответ

Решение

Попробуйте работать на CI без параллельного теста, затем позвольте платформе CI выполнять распараллеливание.

Может быть, это поможет https://semaphoreci.com/docs/running-cucumber-scenarios-in-threads.html.

Я почти уверен, что семафор поддерживает параллельное тестирование с помощью rspec.

Также попробуйте запустить локально весь пакет с параллельным тестом и посмотрите, есть ли у вас те же проблемы.

Наконец, в командной строке посмотрите на cucumber --help, Есть ряд опций, которые вы можете использовать, чтобы сделать следующее

  • добавить больше отладочной информации в прогон
  • определить ваши самые медленные сценарии (возможно, вы могли бы пометить их и запускать их реже).

Я столкнулся с аналогичной проблемой с Capybara иparallel_testsЯ обнаружил, что чем больше одновременных тестов вы запускаете одновременно, тем более "странные" проблемы у вас возникают в Circle CI. Тем не менее, несмотря на то, что чипы в Circle CI (по крайней мере, в наших контейнерах) имеют 18 ядер. Я ограничил количество одновременных тестов до 4, используя-n 4 флаг.

Таким образом, в моей конфигурации Ci я использую: bundle exec parallel_rspec ~/repo/spec -n 4

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