我想测试我的应用程序。一切正常到我想测试我自己的viewHelpers(actionHelpers)的地步。问题是,我想在我自己的 viewHelper 中使用 url-ViewHelper 来生成链接。
因此我使用这个语句。
$urlHelper = $serviceLocator->getServiceLocator()->get('ViewHelperManager')->get('url');
$urlHelper->__invoke('test',array(),array(),true);
这很好用。
但是现在我想测试我的应用程序中使用我的视图助手的部分。一切正常到我使用 url_ViewHelper 的地步。
我得到以下异常:
Fatal error: Call to a member function getRouteMatch() on a non-object in ****\vendor\zendframework\zendframework\library\Zend\Mvc\Service\ViewHelperManagerFactory.php on line 70
我设置测试的方式有问题吗?
$serviceManager = Bootstrap::getServiceManager();
$this->controller = new IndexController();
$this->request = new Request();
$this->routeMatch = new RouteMatch(array('controller' => 'index'));
$this->event = new MvcEvent();
$config = $serviceManager->get('Config');
$routerConfig = isset($config['router']) ? $config['router'] : array();
$router = HttpRouter::factory($routerConfig);
$this->event->setRouter($router);
$this->event->setRouteMatch($this->routeMatch);
$this->controller->setEvent($this->event);
$this->controller->setServiceLocator($serviceManager);
非常感谢您的帮助!