@kdjonua
Java

Как протестировать action в консольном контроллере yii2?

Здравствуйте,

Как можно протестировать action в консольном контроллере Yii2 с помощью codeception?
Я подключил модуль Yii2 в unit.suite.yml, в нем путь к конфигу приложения. Я так понимаю, после этого приложение доступно в $this->app. Но я не могу сделать $this->app->runAction('controller-name/action-name'). Я получаю ошибку

[yii\base\ErrorException] Undefined property: tests\codeception\console\path\ConsoleAppTest::$app

Подскажите, как правильно тестировать консольные контроллеры используя codeception?
  • Вопрос задан
  • 1336 просмотров
Решения вопроса 1
onqu
@onqu
weasy
Здравствуйте.

public function testMyConsoleController()
{
    $appConfig = [];
    $this->mockApplication($appConfig);
    
    $params = ['foo', 'bar'];
    $controller = new MyConsoleController('id', Yii::$app);
    $result = $controller->run('action', $params);

    $this->assertEquals(0, $result);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы