Я просто пытаюсь войти в это: у меня есть класс A, который использует службы класса B. Чтобы изолировать этот класс A и протестировать его, я хотел бы использовать Mockery и класс-заглушку B.
Для этого я сделал
public function testMock()
{
$driver = Mockery::mock('Driver');
App::instance('Driver',$driver);
$driver->shouldReceive('get')->once()->andReturn('Did the job');
$request = new BSRequest($driver);
$this->assertEquals($request->get(),'Did the job');
}
Но я всегда получаю это сообщение после запуска теста ErrorException: аргумент 1, переданный в BSrequest :: __ construct (), должен быть экземпляром Driver, экземпляром Mockery_0_Library_Driver, который вызывается в /var/www/laravel/app/tests/ExampleTest.php на строка 56 и определена
И мой BSrequest таков:
class BSrequest {
private $driver;
public function __construct(Driver $driver) {
$this->driver = $driver;
}
function get() {
return $this->driver->get();
}}
Не могли бы вы рассказать мне, как этого добиться? Спасибо