A --parallel eddig két okból nem működött volna: 1. A setUp() a parent::setUp() ELŐTT hívja a refreshApplication()-t, hogy a DB nevét a RefreshDatabase előtt ellenőrizhesse. A Laravel viszont a ParallelTesting::callSetUpTestCaseCallbacks()-ot csak az "if (! $this->app)" ágban futtatja (InteractsWithTestCaseLifecycle), ami így kimaradt - a processzenkénti adatbázis sosem jött létre, minden processz a közös d2dTest-et migrálta volna egyszerre. A callbacket most magunk hívjuk meg; nem párhuzamos futásnál no-op. 2. A névellenőrzés pontos "d2dtest" egyezést várt, és eltérésnél nem hibát dobott, hanem VISSZAÍRTA a configot d2dTest-re - vagyis csendben közös adatbázisra terelte volna a processzeket. A név mostantól a /^d2dtest(_test_\d+)?$/ mintát követi, ami a Laravel TestDatabases::testDatabase() elnevezését fedi le. Szándékosan nem str_starts_with($db, 'd2d'): az átengedné az éles adatbázist is. Az éles d2d elleni azonnali exit(1) változatlan. Ellenőrizve: tiszta lapról a párhuzamos futás létrehozta a d2dtest_test_1..6 adatbázisokat, a sima futás változatlanul működik. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Browser | ||
| Feature | ||
| Unit | ||
| DuskTestCase.php | ||
| TestCase.php | ||