intraworlds / phpunit-db-fixtures
Loading DB fixtures with ease
0.8.2
2026-03-10 06:52 UTC
Requires
- php: >=8.3
- phpunit/phpunit: ^12.0
Requires (Dev)
- mongodb/mongodb: ^2.1.0
- rector/rector: ^1.2
- robmorgan/phinx: ^0.12
- symfony/yaml: ^7
Suggests
- elasticsearch/elasticsearch: Needed to support Elasticsearch
- mongodb/mongodb: Needed to support MongoDB
- opensearch-project/opensearch-php: Needed for OpenSearch support
- symfony/yaml: For YAML fixtures
This package is auto-updated.
Last update: 2026-03-10 06:54:21 UTC
README
Simple DB fixtures loading, replacement for phpunit/dbunit
Usage
use IW\PHPUnit\DbFixtures\DbFixturesTrait; use IW\PHPUnit\DbFixtures\Fixtures; final class MyTest extends TestCase { use DbFixturesTrait; // returns connections to your DB, implementation is up to you, a singleton should be returned probably protected function getConnections(string $connectionName): array { return match ($connectionName) { // key is name of DB, use it for distinction between multiple DBs 'mysql' => new \PDO(...), 'elastic' => new Elasticsearch\Client(...), }; } #[Fixtures('mysql', 'read-only', 'fixtures.yml')] public function testWithFixtures() { // before test data from fixtures.yml will be loaded into mysql } }