Я хочу проверить мою команду 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?