【发布时间】:2017-06-08 08:46:27
【问题描述】:
我在特定控制器中使用服务提供者,我注册了提供者并成功解决了它。
但是我过去通过模拟实际类来运行的测试不再起作用了。
我使用 app() 在我的控制器中解析服务:
$cart = app()->make('Cart');
这就是我在切换到服务提供商之前模拟它的方式:
$this->cart = $this->createMock(Cart::class);
现在如果我想模拟它,我正在做这样的事情:
$this->createMock(app()->make('Cart'));
测试失败并出现错误:
PHPUnit_Framework_MockObject_Generator::getMock() must be a array or string
有什么想法吗?
【问题讨论】:
标签: php unit-testing testing laravel-5 mocking