Laravel 5.8 Контекстная привязка с параметрами, DI и макет никогда не работают - PullRequest
1 голос
/ 04 июля 2019

Контекстная привязка

$this->app->when(ImportCommand::class)
->needs(Foo::class)
->give(function() {
   return new Foo(env('IMPORT_BAR'));
});

Внедрение зависимостей в конструктор класса ImportCommand

Это прекрасно работает:

public function __construct(Foo $foo) {
   // Foo with the argument is now injected
}

Для тестирования класса ImportCommand мне нужно смоделировать

Я хочу смоделировать Foo в своем классе тестирования импорта, но это не работает.

   $this->mock(Foo::class, function ($mock) {
      $mock->shouldReceive([
         'login' => true,
         'get' => true,
         'rename' => true,
      ]);
   });
   $this->artisan('foo:bar');

При вызове команды ремесленника вместо макета будет использован класс real Foo.Как я могу это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...