CI конвейера heroku терпит неудачу на приложении рельсов с mysql db - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть конвейер на Heroku, который подключен к приложению rails, и каждый ENV (разработка, подготовка, производство, тестирование) связан со своей собственной схемой БД.проблема заключается в том, что когда я тестирую несколько ветвей параллельно, тест не проходит, потому что все тестируемые подключены к одной схеме.Один результат теста влияет на другой и вызывает сбой теста.это один из примеров, когда я запускал 2 теста одновременно, но хорошо, когда они запускаются один за другим, поэтому я считаю, что один результат теста влияет на другой.Мой вопрос: какова лучшая практика выполнения параллельного модульного тестирования без сбоев?

Failures:
  1) User is valid with valid attributes
     Failure/Error: let(:user) { create :user }
     ActiveRecord::StatementInvalid:
       Mysql2::Error: SAVEPOINT active_record_1 does not exist: ROLLBACK TO SAVEPOINT active_record_1
     # ./spec/models/user_spec.rb:5:in `block (2 levels) in <main>'
     # ./spec/models/user_spec.rb:9:in `block (2 levels) in <main>'
     # ./spec/rails_helper.rb:79:in `block (3 levels) in <top (required)>'
     # ./spec/rails_helper.rb:78:in `block (2 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # Mysql2::Error:
     #   Deadlock found when trying to get lock; try restarting transaction
     #   ./spec/models/user_spec.rb:5:in `block (2 levels) in <main>'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...