【发布时间】:2014-10-27 17:53:42
【问题描述】:
所以基本上我试图模拟我对控制器的依赖,我想使用 Mockery 的ordered() 功能。
$request = \Mockery::mock('Silhouette\Http\Request');
$response = \Mockery::mock('Silhouette\Http\Response');
$response->shouldReceive("setContent")->ordered();
$db = \Mockery::mock('Dabble\Database');
$configData = \Mockery::mock('Silhouette\Configuration\ConfigurationData');
$configData->shouldReceive("get")->andReturn(array(18, 23))->ordered();
即使在控制器中 $response->setContent() 之前调用了 $configData->get(),上述测试也是成功的。
此外,如果我颠倒模拟的顺序,我仍然可以成功测试。
$request = \Mockery::mock('Silhouette\Http\Request');
$db = \Mockery::mock('Dabble\Database');
$configData = \Mockery::mock('Silhouette\Configuration\ConfigurationData');
$configData->shouldReceive("get")->andReturn(array(18, 23))->ordered();
$response = \Mockery::mock('Silhouette\Http\Response');
$response->shouldReceive("setContent")->ordered();
知道我在这里做错了什么吗?谢谢
【问题讨论】:
标签: php unit-testing phpunit mockery