intraworlds/phpunit-db-fixtures

Loading DB fixtures with ease

Installs: 74 199

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 2

Forks: 8

Open Issues: 8

pkg:composer/intraworlds/phpunit-db-fixtures

0.8.1 2025-09-17 14:27 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
  }
}