2017 © Pedro Peláez
 

library pdomocker

A PDO mocking framework for PHPUnit

image

thijsferyn/pdomocker

A PDO mocking framework for PHPUnit

  • Tuesday, February 9, 2016
  • by ThijsFeryn
  • Repository
  • 1 Watchers
  • 0 Stars
  • 441 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 6 Versions
  • 13 % Grown

The README.md

Build Status, (*1)

PDOMocker

A PDO mocking wrapper around PHPUnit_MockObject, (*2)

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());
}

The Versions

09/02 2016

dev-master

9999999-dev https://github.com/ThijsFeryn/PDOMocker

A PDO mocking framework for PHPUnit

  Sources   Download

The Requires

 

The Development Requires

by Thijs Feryn

mock phpunit testing pdo mocking

07/12 2015

v0.1.4

0.1.4.0 https://github.com/ThijsFeryn/PDOMocker

A PDO mocking framework for PHPUnit

  Sources   Download

The Requires

 

The Development Requires

by Thijs Feryn

mock phpunit testing pdo mocking

07/12 2015

v0.1.3

0.1.3.0 https://github.com/ThijsFeryn/PDOMocker

A PDO mocking framework for PHPUnit

  Sources   Download

The Requires

 

The Development Requires

by Thijs Feryn

mock phpunit testing pdo mocking

19/05 2015

v0.1.2

0.1.2.0 https://github.com/ThijsFeryn/PDOMocker

A PDO mocking framework for PHPUnit

  Sources   Download

The Requires

 

The Development Requires

by Thijs Feryn

mock phpunit testing pdo mocking

25/03 2015

v0.1.1

0.1.1.0 https://github.com/ThijsFeryn/PDOMocker

A PDO mocking framework for PHPUnit

  Sources   Download

The Requires

 

The Development Requires

by Thijs Feryn

mock phpunit testing pdo mocking

24/03 2015

v0.1.0

0.1.0.0 https://github.com/ThijsFeryn/PDOMocker

A PDO mocking framework for PHPUnit

  Sources   Download

The Requires

 

The Development Requires

by Thijs Feryn

mock phpunit testing pdo mocking