Ну, я новичок в модульном тестировании (с phpUnit) и просто начал тестировать один класс.Как проверить конструктор, который устанавливает защищенные свойства?
Actual конструктор выглядит следующим образом:
/**
* Loads configuration.
*/
function __construct() {
$config =
Kohana::$config->load('koffee');
$this->_table_name = $config->table_name;
$this->_table_columns = $config->table_columns;
}
Это в основном получает конфигурацию из другого файла и устанавливает его в качестве защищаемых свойств к этому объекту.
Вот как блок-тест выглядит (это не закончена, и где мне нужна помощь):
/**
* Tests that config is loaded and correct.
*/
function testConfigIsLoadedAndCorrect() {
$object = new Model_Article();
$config = Kohana::$config->load('koffee');
// Compare object's **protected** properties to local `$config`. How?!
}
Проблема заключается в том, что свойства защищены и я не могу получить доступ к их так легко ...
Возможные решения я вижу на данный момент:
- Изменение видимости свойств (я не люблю это),
- Add, так называемый, «GETT ers "на тест класса I - не unit-test (мне это не нравится);
Возможно, это смешно для вас, но, как я уже сказал, я новичок в модульных тестах. Любая помощь очень ценится.
Вы не написали *, что * вы на самом деле хотите, чтобы проверить и * почему * вы думаете, есть проблема. – hakre
Я хочу сравнить свойства ** объекта ** объекта с локальным '$ config', как указано в тесте. – daGrevis