我正在为应用程序使用Yii2基本模板,其中大多数配置位于<yii-home>/config/web.php
中,其中包含<yii-home>/config/params.php
。
功能测试只应在查找标题时启动索引操作,如下所示:
class StartPageCest
{
public function _before(\FunctionalTester $I)
{
$I->amOnPage(['site/index']);
}
public function _after(\FunctionalTester $I)
{
}
// tests
public function tryToTest(\FunctionalTester $I)
{
$I->see('hello', 'h2');
}
}
但这会导致错误:
Test tests/functional/StartPageCest.php:tryToTest
[Error] Call to a member function get() on null
通过索引操作我找到了这一行,测试停止了:
$result = Yii::$app->cache->get('site_index_result');
看起来,缓存组件未初始化。 (顺便说一句,此操作中还有一个Solr组件,测试也会停止)。
可能来自<yii-home>/config/web.php
的配置未加载到测试运行时中。这可能吗?
我的functional.suite.yml
看起来像这样:
class_name: FunctionalTester
modules:
enabled:
- Filesystem
- Yii2:
configFile: config/testconfig.php
这是testconfig.php
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/web.php'),
[
'id' => 'app-tests',
]
);
return $config;
所以我的问题是: