2

我想测试我的应用程序。一切正常到我想测试我自己的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);

非常感谢您的帮助!

4

0 回答 0