shopit-back/tests/README.md

18 lines
935 B
Markdown

# 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.