Случайно, не пробовал ли кто-нибудь уже запускать задачи rake spec параллельно?
Мы запускаем наши тесты параллельно как в процессе непрерывной интеграции (CI), так и при локальной разработке. Чтобы попробовать это в действии, выполните:
bin/rake parallel:create
bin/rake parallel:migrate
bin/turbo_rspec
Спасибо, это довольно круто!
Чтобы запустить это в моей локальной среде разработки, мне сначала пришлось исправить:
ОШИБКА: отказано в разрешении на создание базы данных
Задачи: TOP => db:create
(Полный трассировочный вывод можно получить, запустив задачу с флагом --trace)
PG::InsufficientPrivilege: ОШИБКА: отказано в разрешении на создание базы данных
Не удалось создать базу данных 'discourse_test_32'. Проверьте вашу конфигурацию.
rake aborted!
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ОШИБКА: отказано в разрешении на создание базы данных
Причина:
PG::InsufficientPrivilege: ОШИБКА: отказано в разрешении на создание базы данных
# переключение в контейнер
d/shell_root
# внутри контейнера - root@discourse:/#
sudo -u postgres psql
# psql - postgres=#
ALTER USER discourse CREATEDB;
exit
# внутри контейнера - root@discourse:/#
exit
Теперь это работает даже внутри контейнера:
d/rake parallel:create
d/rake parallel:migrate
d/exec bin/turbo_rspec
Завершено за 3 минуты 11,6 секунд (файлы загрузились за 0 секунд) ![]()
16015 примеров, 12 неудач, 10 отложено, 3 ошибки произошли вне примеров