Выполнение тестов в сумерках с паратестом - PullRequest
0 голосов
/ 24 апреля 2018

Я хочу запустить свои сумерки с paratest Но вот некоторые неприятности У меня есть только одна база данных У меня только одна заявка Как я могу запустить свои тесты с docker-compose exec app vendor / bin / paratest -p4 tests / Browser / и получить 4 экземпляра моего заявления?

1 Ответ

0 голосов
/ 29 января 2019

Вы не можете.Для этого вам придется запускать среду Docker 4 раза, и Paratest не знает (и не заботится) о вашей среде.

Обычный способ тестирования баз данных - это создание отдельных баз данных для TEST_TOKEN или * 1004.* (см. https://github.com/paratestphp/paratest#test-token).Таким образом, если ваша база данных называется «foo», то ваши тесты должны быть достаточно умными, чтобы

  • распознавать, если существует TEST_TOKEN (getenv("TEST_TOKEN"))
  • , для создания новой базы данных«на лету», например, foo_1
  • переключить соединение базы данных по умолчанию с foo на foo_1, чтобы код вашего приложения теперь использовал «новую» базу данных

Я обнаружил, что это самый чистый (ну, на самом деле, единственный) способ заставить выполнение параллельных тестов работать с тестами, попадающими в базу данных.И, честно говоря (в зависимости от вашего приложения) это может потребовать переосмысления / рефакторинга вашей текущей кодовой базы.

https://timacdonald.me/my-feature-test-suite-setup/ может дать вам еще несколько идей.

...