thijsferyn/pdomocker
最新稳定版本:v0.1.4
Composer 安装命令:
composer require --dev thijsferyn/pdomocker
包简介
A PDO mocking framework for PHPUnit
README 文档
README
PDOMocker
A PDO mocking wrapper around PHPUnit_MockObject
Example code
<?php namespace PDOMocker; require_once __DIR__.'/vendor/autoload.php'; $rows = [ new Row(['id'=>1, 'name'=>'someValue'],false), new Row(['id'=>2, 'name'=>'someOtherValue'],false) ]; $updatedRows = [ new Row(['id'=>1, 'name'=>'newValue'],false), new Row(['id'=>2, 'name'=>'otherNewValue'],false) ]; $exception = new \PDOException('someError'); $mocker = new Mocker(); $mocker ->registerQuery(new Query\Select('SELECT * FROM someTable WHERE id=1',[$rows[0]])) ->registerQuery(new Query\Select('SELECT * FROM someTable',$rows)) ->registerQuery(new Query\Insert("INSERT INTO someTable (id,name) VALUES (1,'someValue')",[$rows[0]])) ->registerQuery(new Query\Update('UPDATE someTable WHERE id=1',[$rows[0]],[$updatedRows[0]])) ->registerQuery(new Query\Insert("INSERT INTO otherTable (id,name) VALUES (1,'someValue')",[],$exception)) ->registerQuery(new Query\Delete('DELETE FROM someTable WHERE id=1',[$rows[0]])); $pdo = $mocker->getMock(); $stmt = $pdo->query("SELECT * FROM someTable WHERE id=1"); /** * array(0) { * } */ var_dump($stmt->fetchAll()); $pdo->query("INSERT INTO someTable (id,name) VALUES (1,'someValue')"); $stmt = $pdo->query("SELECT * FROM someTable WHERE id=1"); /** * array(2) { * [0] => * array(2) { * 'id' => * int(1) * 'name' => * string(9) "someValue" * } *} */ var_dump($stmt->fetchAll()); $pdo->query('UPDATE someTable WHERE id=1'); $stmt = $pdo->query("SELECT * FROM someTable WHERE id=1"); /** * array(2) { * [0] => * array(2) { * 'id' => * int(1) * 'name' => * string(9) "newValue" * } *} */ var_dump($stmt->fetchAll()); $pdo->query('DELETE FROM someTable WHERE id=1'); /** * array(0) { * } */ $stmt = $pdo->query("SELECT * FROM someTable WHERE id=1"); var_dump($stmt->fetchAll()); /** * string(9) "someError" */ try { $pdo->query("INSERT INTO otherTable (id,name) VALUES (1,'someValue')"); } catch(\PDOException $e) { var_dump($e->getMessage()); }
统计信息
- 总下载量: 1.3k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2015-03-16