我想测试我的应用程序。一切正常,我想测试自己的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);
非常感谢您的帮助!