Вы не можете.Для этого вам придется запускать среду 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/ может дать вам еще несколько идей.