Я хочу протестировать свою команду Laravel Artisan. Поэтому мне нужно издеваться над объектом и заглушать эти методы издевательского объекта. В моем тесте я не могу использовать реальную среду SFTP.
Это handle()
моей команды:
public function handle()
{
$sftp = new SFTP('my.sftpenv.com');
$sftp->login('foo', 'bar');
}
Я хочу издеваться над SFTP в своем тесте:
$sftp = $this->createMock(SFTP::class);
$sftp->expects($this->any())->method('login')->with('foo', 'bar');
$this->artisan('import:foo');
Выполнение теста приводит к результату Cannot connect to ...:22
, полученному из исходного метода login
из SFTP
. Таким образом, макет/заглушка не вступает в силу.
Итак, мой вопрос: как я могу издеваться над объектом в командном тесте Laravel Artisan?
$this->artisan('import:foo');
- person Mesuti   schedule 02.07.2019$this->app->bind(SFTP::class, $sftp);
- person Mesuti   schedule 02.07.2019