This package optimizes unit testing speed, especially for packages with a large number of migrations and/or seeders.
The package works by managing two copies of a sqlite database, base and copy. Migrations and seeders are run on copy if base does not exist.
Copy is cloned into base. Every unit test with RefreshDatabase trait will delete copy and clone base into copy.
Base is deleted at the end of the unit test (you can keep Base around with a simple configuration update).
composer require --dev brandonbest/php-unittest-sqlite
Add the following listener to phpunit.xml.
<listeners>
<listener class="BrandonBest\UnittestSqlite\DatabaseTestListener"/>
</listeners>
php artisan sqlite:delete
Deletes the base file.
- Automatically detect new migrations and update the base sqlite