Test writing utilities.

0.0.1 2014-07-07 10:57 UTC

This package is not auto-updated.

Last update: 2024-12-17 06:47:35 UTC


README

Build Status

Test writing utilities

Apiframework\Test\ProtectedReflection

Allows easy testing for protected methods and properties.

invokeMethod - Execute a protected method

class Robot
{

    protected $cache = [];

    public function addToCache($key, $value) {
        $this->cache[$key] = $value;
    }

    protected function helloTwo($one, $two)
    {
        return "hello $one $two";
    }

}

$robot = new Robot;

$protected = (new Apiframework\Test\ProtectedReflectionFactory)->build($robot);

// Accepts an array of arguments equal to the amount of arguments of the method
$helloTwo = $protected->invokeMethod("helloTwo", ['varOne', 'varTwo']);

var_dump($helloTwo);

Output

string(19) "hello varOne varTwo"

getProperty - get a protected property of the class

$protected->invokeMethod("addToCache", ['david', 'bowie']);

$cache = $protected->getProperty("cache");

var_dump($cache);

Output

array(1) {
  'david' =>
  string(5) "bowie"
}

setProperty - set a protected property

$protected->setProperty("cache", ['fab' => 'four']);

$cache = $protected->getProperty("cache");

var_dump($cache);

Output

array(1) {
  'fab' =>
  string(4) "four"
}