Support parallel testing with Sail and MySQL

This commit is contained in:
Christopher C. Wells 2021-11-10 15:04:59 -08:00
parent c42cfdb531
commit 7273da6bd2
2 changed files with 3 additions and 26 deletions

View File

@ -535,25 +535,5 @@ Ensure that Sail is running (primarily to provide ElasticSearch):
Execute tests.
vendor/bin/sail artisan test --parallel
#### Caveats
In order to support parallel testing, tests are run using sqlite (even though Sail
provides MySQL). To test with MySQL make a copy of `phpunit.xml.dist` as `phpunit.xml`
and change:
```
<server name="DB_CONNECTION" value="sqlite"/>
<server name="DB_DATABASE" value=":memory:"/>
```
to
```
<server name="DB_CONNECTION" value="mysql"/>
<server name="DB_HOST" value="db"/>
```
Now running `vendor/bin/sail artisan test` will run tests with MySQL **but** tests
cannot be run in parallel.
vendor/bin/sail artisan dev:cache-clear
vendor/bin/sail artisan test --parallel --recreate-databases

View File

@ -19,6 +19,7 @@
</coverage>
<php>
<server name="APP_ENV" value="testing"/>
<server name="DB_USERNAME" value="root"/>
<server name="BCRYPT_ROUNDS" value="4"/>
<server name="CACHE_DRIVER" value="array"/>
<server name="MAIL_MAILER" value="array"/>
@ -26,9 +27,5 @@
<server name="SESSION_DRIVER" value="elastic"/>
<server name="SESSION_DRIVER" value="array"/>
<server name="TELESCOPE_ENABLED" value="false"/>
<!-- @todo Figure out how to do MySQL parallel testing inside Sail. -->
<server name="DB_CONNECTION" value="sqlite"/>
<server name="DB_DATABASE" value=":memory:"/>
</php>
</phpunit>