【发布时间】:2014-03-21 13:53:18
【问题描述】:
我有一个带有一些中间件的 Slim 应用程序。
它对路由进行身份验证,并像这样检索路由:
$route = $this->getApplication()->router()->getCurrentRoute();
我现在正在对其进行测试,并尝试使用 Mockery 来模拟链式调用的结果,这样我就可以有效地指定路由。
$mock = M::mock('\Api\SessionMiddleware[getApplication]');
$mock->shouldReceive('router->getCurrentRoute')->andReturn('myRoute');
这不起作用。它尝试调用:require('lib/demeter/router.php') 并失败,因为它不存在。
我也试过了:
$mock = M::mock('\Api\SessionMiddleware')->shouldDeferMissing();
$mock->shouldReceive('getApplication->router->getCurrentRoute')->andReturn('myRoute');
这也不起作用,失败:
Failed opening required 'lib/demeter/getApplication.php'
我错过了什么?
【问题讨论】: