DI срабатывает по-разному. Поправьте меня.

Всё про тестирование в Yii 2.0
Закрыто
wolfandman
Сообщения: 33
Зарегистрирован: 2012.06.04, 19:52

DI срабатывает по-разному. Поправьте меня.

Сообщение wolfandman » 2018.12.21, 11:14

Добрый день! Осваиваю тестирование и DI в yii2.

Если вызываю этот код в контроллере console, то всё работает хорошо. Структура объекта создаётся корректная.

Код: Выделить всё

$entity = Yii::createObject([
     'class' => UzEntity::class,
     'title' => 'Воронежский институт связи',
], [new Wikipedia(68825)]);
А в тесте тот же код приводит к ошибке:

Код: Выделить всё

[TypeError] Argument 1 passed to console\components\vuz\entities\UzEntity::__construct() must implement interface console\components\vuz\source\Wikipedia, integer given.
Конструктор UzEntity:

Код: Выделить всё

public function __construct(\console\components\vuz\source\Wikipedia $source, $config = [])
{
     $this->source = $source;
}
Что я делаю не так?

wolfandman
Сообщения: 33
Зарегистрирован: 2012.06.04, 19:52

Re: DI срабатывает по-разному. Поправьте меня.

Сообщение wolfandman » 2018.12.21, 13:59

Видимо, как минимум, я должен обновить весь стек. Сейчас вижу, что структура advanced шаблона изменилась. Актуализирую всё, подебажу

wolfandman
Сообщения: 33
Зарегистрирован: 2012.06.04, 19:52

Re: DI срабатывает по-разному. Поправьте меня.

Сообщение wolfandman » 2018.12.21, 15:23

Да. Обновился. Проблема исчезла.

Закрыто