Я получаю доступ к параметрам из контроллера действий, который хорошо работает с приложением, но я столкнулся с проблемой, когда пытаюсь выполнить UnitTest:
PHP Fatal error: Call to a member function getOptions() on a non-object in /home/zendtest/library/ZC/Action/Helper/Signup.php on line 43
Для моих тестов я следил за настройкой из ZC по адресу http://www.zendcasts.com/unit-testing-action-helpers/2010/11/
с исходным кодом, доступным здесь.
Я добавил еще один тест в тестах / библиотеке / ZC / Action / Helper / RegistrationTest.php:
public function testMyTest() { $helper = new ZC_Action_Helper_Signup(); $this->dispatch('/'); $controller = new IndexController($this->getRequest(), $this->getResponse(), array()); $helper->setActionController($controller); $this->assertType('Zend_View',$helper->getConfig()); }
И я добавил следующую функцию в /library/ZC/Action/Helper/Signup.php:
protected $_config; public function getConfig() { if (null == $this->_config) { $action = $this->getActionController(); $bootstrap = $action->getInvokeArg('bootstrap'); $config = $bootstrap->getOptions(); $this->_config = new Zend_Config($config); } return $this->_config; }
Как я могу правильно проверить эту вспомогательную функцию действия?