Тестирование приватных методов в PHPUnit

Для тестирования приватных методов класса через PHPUnit можно воспользоваться специальным классом ReflectionClass, забрать нужный приватный метод и сделать его доступным. Все это делается динамически и при помощи таких движений можно тестировать абсолютно любые методы класса разной области видимости.
Приведем пример:

$class = new ReflectionClass('Parser');
// Метод взятия страницы приватный, его нам надо протестировать
$method = $class->getMethod('getPage');
// Ставим область видимости
$method->setAccessible(true);

$parser = new Parser(['login'=>'mylogin' , 'password'=>'mypassword']);

// Проверим что данная страница парсится
$result = $method->invoke($parser, 'http://myurl.com');

// Далее уже делаем различные asserts и так далее

 

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *