hostnet / database-test-lib
提供真实数据库,用于测试目的,安全可靠
2.0.4
2023-11-29 11:49 UTC
Requires
- php: ^7.3|^8.0
- doctrine/orm: ^2.5.4
Requires (Dev)
- hostnet/phpcs-tool: ^9.1.0
- phpunit/phpunit: ^9.4
README
此包允许您创建可丢弃的测试数据库。每个连接类将在构造时连接到测试数据库,并在销毁后清理。
安装
使用composer
composer require --dev hostnet/database-test-lib
或者手动添加到您的 composer.json
"require-dev" : { "hostnet/database-test-lib": "^1.0.0" }
使用方法
<?php use Doctrine\DBAL\DriverManager; use Hostnet\Component\DatabaseTest\MysqlPersistentConnection; $connection = new MysqlPersistentConnection(); $params = $connection->getConnectionParams(); $doctrine = DriverManager::getConnection($params); $statement = $doctrine->executeQuery('SHOW DATABASES'); $databases = $statement->fetchAll(\PDO::FETCH_COLUMN); foreach($databases as $database) { echo $database . PHP_EOL; }
连接类型
目前只有 MysqlPersistentConnection
可用。
MySQL
此连接将在您的系统下启动一个 mysql 守护进程,并为您的测试创建一个数据库。当连接超出范围时,数据库将被删除。
持久部分意味着守护进程将在之后继续运行,并且将被后续连接重用,即使在多个 PHP 脚本之间也是如此。
此行为是通过使用 bash 实现的。这意味着它只能在支持 bash 并且已安装 mysql 守护进程或替代品的系统上工作。不需要超级用户权限。