Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel模型与存储库绑定,Mockry失败_Php_Unit Testing_Laravel_Mockery - Fatal编程技术网

Php Laravel模型与存储库绑定,Mockry失败

Php Laravel模型与存储库绑定,Mockry失败,php,unit-testing,laravel,mockery,Php,Unit Testing,Laravel,Mockery,我正在尝试使用mocky测试我的服务。我已将路由参数{user}绑定到我的服务: $repo = 'Services\\UserService'; $router->bind('user', function($id, $route) use($repo) { return $this->app->make($repo)->get($id); }); 当我运行第一个测试时,它成功了 $mocked = Mockery::mock('UserService');

我正在尝试使用
mocky
测试我的服务。我已将路由参数
{user}
绑定到我的服务:

$repo = 'Services\\UserService';
$router->bind('user', function($id, $route) use($repo) {
    return $this->app->make($repo)->get($id);
});
当我运行第一个测试时,它成功了

$mocked = Mockery::mock('UserService');
\App::instance('UserService', $mocked);

$mocked->shouldReceive('create')
       ->once()
       ->andReturn($user);
当我的下一个测试运行时,它失败了

$mocked = Mockery::mock('UserService');
\App::instance('UserService', $mocked);

$mocked->shouldReceive('update')
       ->once()
       ->andReturn('1');
路由器->绑定方法中转储

dump(get_class($this->app->make($repo));
我第一次得到
Services\UserService
,但第二次得到
mockry\u 0\u Services\u UserService
,然后出现以下错误:

testing.ERROR: exception 'BadMethodCallException' with message 
'Method Mockery_0_Services_UserService::get() does not exist on this mock object
我假设它与
App::instance
方法有关,但我不确定

这里可能有什么问题