Last Updated: February 25, 2016
·
1.489K
· macodev

test php unit private and protected methods

This is a handy solution to test private or protected methods in phpunit.

public function invokeMethod(&$object, $methodName, array $parameters = array())
{
    $reflection = new \ReflectionClass(get_class($object));
    $method = $reflection->getMethod($methodName);
    $method->setAccessible(true);

    return $method->invokeArgs($object, $parameters);
}

To use:

$this->invokeMethod($user, 'cryptPassword', array('passwordToCrypt'));

(source http://j.mp/1fj7jxD )