fix(tests): isolate databases in memory and reject persistent connections
This commit is contained in:
17
tests/README.md
Normal file
17
tests/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Database isolation
|
||||
|
||||
Run the suite with `composer test` or `vendor/bin/phpunit`. Both use
|
||||
`tests/bootstrap.php`, which forces SQLite `:memory:` in all environment sources.
|
||||
Tests never need a MySQL test database or the local database credentials.
|
||||
|
||||
`Tests\TestCase` rejects cached configuration and validates the default connection
|
||||
before application providers boot. Its connection factory also rejects persistent
|
||||
databases, URLs, and alternate endpoints for named or dynamically built connections.
|
||||
Tests that need Laravel must extend this base class. Do not bypass these guards to
|
||||
make a failing test pass; adapt database-specific tests to SQLite or use a separately
|
||||
designed disposable database workflow.
|
||||
|
||||
`php tests/verify-database-safety.php` checks the guard and application wiring without
|
||||
running test setup, queries, migrations, or opening PDO connections.
|
||||
|
||||
The suite does not validate MySQL-specific behavior when using SQLite.
|
||||
Reference in New Issue
Block a user