Leave a Comment
Тестирование protected и private методов с PHPUnit
Через reflection (требуется php > 5.3.2):
<?php
class FooTest extends PHPUnit_Framework_TestCase
{
/**
* @covers Foo::doSomethingPrivate
*/
public function testPrivateMethod()
{
$method = new ReflectionMethod(
'Foo', 'doSomethingPrivate'
);
$method->setAccessible(true);
$this->assertEquals(
'blah', $method->invoke(new Foo)
);
}
}
?>
Ссылка на статью — http://sebastian-bergmann.de/archives/881-Testing-Your-Privates.html.
Здесь предлагают сделать универсальный метод в PHPUnit для того, чтобы упростить эту процедуру — http://stackoverflow.com/a/2798203/801426.
LEAVE A COMMENT
Для отправки комментария вам необходимо авторизоваться.