I have a bunch of tests in tests/codeception/console/unit which I obviously want to test as console apps not as web apps.
However, in yii2-codeception I found that this is config driven:
yii2-codeception/TestCase.php LINE 115
if (!isset($config['class'])) {
$config['class'] = 'yii\web\Application';
}
I then tried changing my config for console tests from
return yii\helpers\ArrayHelper::merge(
require(YII_APP_BASE_PATH . '/common/config/main.php'),
require(YII_APP_BASE_PATH . '/common/config/main-local.php'),
require(YII_APP_BASE_PATH . '/console/config/main.php'),
require(YII_APP_BASE_PATH . '/console/config/main-local.php'),
require(dirname(__DIR__) . '/config.php'),
require(dirname(__DIR__) . '/unit.php'),
[
]
);
to
return yii\helpers\ArrayHelper::merge(
require(YII_APP_BASE_PATH . '/common/config/main.php'),
require(YII_APP_BASE_PATH . '/common/config/main-local.php'),
require(YII_APP_BASE_PATH . '/console/config/main.php'),
require(YII_APP_BASE_PATH . '/console/config/main-local.php'),
require(dirname(__DIR__) . '/config.php'),
require(dirname(__DIR__) . '/unit.php'),
[
'class' => 'yii\console\application'
]
);
but when I run the test I get
Codeception PHP Testing Framework v2.0.8
Powered by PHPUnit 4.4.0 by Sebastian Bergmann.
[yii\base\UnknownPropertyException]
Setting unknown property: yii\console\Application::class
What is the correct way to configure codeception to run a console app please?