星际联盟 / 星形
这是一个库,可以让PHP中数据库驱动代码的单元测试变得非常简单。模拟原生PDO类,定义查询结果,并检查执行的语句。
v0.8.0
2018-02-04 03:32 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ^5.7
- raveren/kint: ^1.0
README
这是一个库,可以让PHP中数据库驱动代码的单元测试变得非常简单。模拟原生PDO类,定义查询结果,并检查执行的语句。
"[在消防中使用的]一种用于将一条管线分成两条排放的管件。通常使用带门的星形管件来允许或禁止通过两条单独的排放水。" - https://en.wikipedia.org/wiki/Glossary_of_firefighting_equipment#Wye
安装
星形已在 Packagist 上注册,并可以使用 Composer 安装。在命令行中运行以下命令
composer require --dev stratedge/wye
一旦星形被包含在你的项目中,只需确保需要 Composer 的自动加载器
require_once 'vendor/autoload.php';
基本用法示例
use Stratedge\Wye\Wye; //In test setup //------------- //Reset the Wye to its clean state Wye::reset() //Create a Wye PDO object $pdo = Wye::makePDO(); //Inject PDO into database layer Database::setConnection($pdo); //In test //------- //Create a Result object $result = Wye::makeResult(); //Add a row or two to return $result->addRow(['type' => 'Pumper', 'apparatus' => 'Engine 1']); //Attach Result to Wye to be served when a query is executed $result->attach(); //Run code to test $class_to_test->doSomething(); //Inspect execution $stmt = Wye::getStatementAtIndex(0); $this->assertStringStartsWith('SELECT', $stmt->getStatement()); $this->assertCount(2, count($stmt->getBindings()); $this->assertSame('id', $stmt->getBindings()->first()->getParameter()); $this->assertSame(1, Wye::getNumQueries()); //and more!
等等,还有更多
要更深入地了解星形的用法,请查看详细的文档,特别是基本用法部分。
文档
完整和最新的文档可以在维基上找到。
讨论的主要主题包括:简介、定义结果、检查执行信息和检查绑定。
待办事项 & 路线图
增强和实施列表可在维基的待办事项 & 路线图页面上找到。
问题跟踪
如果你发现 Wye 中有问题,并且你认为你可以修复它,请务必这样做。拉取请求受到欢迎。如果你没有时间或精力修复它,请尽可能详细地记录问题,以便我可以查看。
问题可以在Github问题跟踪器上记录。
致谢
星形是基于我的朋友/同事Josh最初实施的想法构建的。