intraworlds/phpunit-db-fixtures

Loading DB fixtures with ease

0.5.2 2024-02-28 12:15 UTC

README

Simple DB fixtures loading, replacement for phpunit/dbunit

Usage

use IW\PHPUnit\DbFixtures\DbFixturesTrait;

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
  }
}