hostnet/database-test-lib

提供真实数据库,用于测试目的,安全可靠

2.0.4 2023-11-29 11:49 UTC

This package is auto-updated.

Last update: 2024-08-29 13:45:21 UTC


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 守护进程或替代品的系统上工作。不需要超级用户权限。