kirill_presley
Новичок
Unit-тесты :: как тестировать приватные методы?
Возможно, вопрос дурацкий, тогда отошлите меня к соответствующим материалам.
Предположим, есть у тестируемого класса некий метод, объявленный как private. В этом случае попытка написать unit-тест с выражением вроде:
...естественно приводит к возникновению фатальной ошибки.
Как быть?
Можно на время тестирования заменить private на public, но это плохо, т. к. тесты надо будет запускать и через год, а тогда не будешь же шерстить весь код и менять модификаторы у всех приватных методов.
Можно для каждого приватного метода создавать его публичную "обёртку", но это ещё бредовее, ибо не проще ли тогда метод сразу сделать публичным?
Какие ещё могут быть варианты действий?
Возможно, вопрос дурацкий, тогда отошлите меня к соответствующим материалам.
Предположим, есть у тестируемого класса некий метод, объявленный как private. В этом случае попытка написать unit-тест с выражением вроде:
PHP:
$this->assertEquals($some_value, $obj->_some_private_method($some_params));
Как быть?
Можно на время тестирования заменить private на public, но это плохо, т. к. тесты надо будет запускать и через год, а тогда не будешь же шерстить весь код и менять модификаторы у всех приватных методов.
Можно для каждого приватного метода создавать его публичную "обёртку", но это ещё бредовее, ибо не проще ли тогда метод сразу сделать публичным?
Какие ещё могут быть варианты действий?
))