PhpUnit :: Как можно проверить __конструкцию с проверенными защищенными переменными?PHPUnit :: Как можно проверить __конструкцию с проверенными защищенными переменными?
(не всегда следует добавить публичный метод GETVAL() - Су без метода добавления, которые возвращают защищаемого значение переменной)
Пример:
class Example{
protected $_val=null;
function __construct($val){
$this->_val=md5 ($val);
}
}
Edit:
также существует проблема проверки в функции, которая возвращает void
Edit2:
Пример почему мы должны тест __construct:
class Example{
protected $_val=null;
//user write _constract instead __construct
function _constract($val){
$this->_val=md5 ($val);
}
function getLen($value){
return strlen($value);
}
}
class ExampleTest extends PHPUnit_Framework_TestCase{
test_getLen(){
$ob=new Example();//call to __construct and not to _constract
$this->assertEquals($ob->getLen('1234'), 4);
}
}
испытательный пробег ок, но пример класса "конструктор" не был создан!
Благодаря
1. также защищенный метод должен был протестировать 2 .__ construct - общедоступный метод – Yosef
[тот же метод для ReflectionMethod] (http://php.net/manual/en/reflectionmethod.setaccessible.php) – Distdev
Также вы можете прочитать [статья автора из PHPUnit] (http://sebastian-bergmann.de/archives/881-Testing-Your-Privates.html) – Distdev