intraworlds / phpunit-db-fixtures
轻松加载数据库固定数据
0.7.2
2024-09-16 13:22 UTC
Requires
- php: >=8.3
- phpunit/phpunit: ^11.0
Requires (Dev)
- mongodb/mongodb: ^1.5
- 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
README
简单的数据库固定数据加载,phpunit/dbunit的替代品
用法
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 } }