It seems Laravel isn't conpatible with Paratest out of the box. I installed a new Laravel project using:
composer create-project --prefer-dist laravel/laravel laravel
Ran PHPUnit fine:
vendor\bin\phpunit
PHPUnit 7.2.7 by Sebastian Bergmann and contributors.
.. 2 / 2 (100%)
Time: 181 ms, Memory: 12.00MB
OK (2 tests, 2 assertions)
Installed and ran Paratest:
composer require --dev brianium/paratest
vendor\bin\paratest
Running phpunit in 5 processes with C:\work\laravel\vendor\bin\phpunit.bat
Configuration read from C:\work\laravel\phpunit.xml
In ResultPrinter.php line 198:
Log file C:\Users\USER\AppData\Local\Temp\PT_9B83.tmp is empty. This means a PHPUnit process has crashed.
The process: c:\work\commands\php7\php.exe C:\work\laravel\vendor\bin\phpunit.bat --configuration C:\work\laravel\phpunit.xml --log-junit C:\Users\USER\AppData\Local\Temp\PT_9B83.tmp Tests\Feature\ExampleTest C:\work\laravel\tests\F
eature\ExampleTest.php
This means a PHPUnit process was unable to run "C:\work\laravel\tests\Feature\ExampleTest.php"
I don't think you'll have much benefit of running tests in parallel if you're dealing with database etc.. Imagine two or more tests dropping and creating the same database at the same time, or seeding data that affects other test.
Feel free to submit a PR.
I don't have an issue with concurrent access to the database within my tests, they are all standalone.