我使用的是代码2.2.5和Yii 1.1.4 我有Yii1模块的问题。我已将其配置为功能和单元测试
这是functional.suite.yml
class_name: FunctionalTester
modules:
enabled:
- Yii1:
appPath: 'www/test.php'
url: 'http://localhost/test.php'
part: init
- PhpBrowser:
url: 'http://localhost/index-test.php'
- \Helper\Functional
coverage:
enabled: true
remote: false
这是unit.suite.yml
class_name: UnitTester
modules:
enabled:
- Asserts
- Yii1:
appPath: 'www/test.php'
url: 'http://localhost/test.php'
- \Helper\Unit
当我单独运行测试时,一切都很好。 e.g。
php codecept.phar run functional --xml --html
php codecept.phar run unit --xml --html
当我一起跑步时
php codecept.phar run --xml --html
它运行功能而没有与Yii1模块相关的问题。它带来的单位
[Codeception\Exception\ModuleConfigException]
Yii1 module is not configured!
Couldn't load application config file www/test.php
Please provide application bootstrap file configured for testing
一起运行的主要目标是代码覆盖率。
答案 0 :(得分:0)
以下是我的问题的答案:
我创建了一个单独的模块Yii1Ext(Yii1Ext.php),它扩展到Yii1模块:
namespace Helper;
use Codeception\Module\Yii1;
class Yii1Ext extends Yii1
{
public function _initialize()
{
$this->config['appPath'] = FRONTEND.'/'.$this->config['appPath'];
parent::_initialize();
}
}
在配置文件中启用了Yii1Ext模块而不是Yii1模块
class_name: FunctionalTester
modules:
enabled:
- \Helper\Yii1Ext:
appPath: 'www/test.php'
url: 'http://localhost/test.php'
part: init
- PhpBrowser:
url: 'http://localhost/'
注意:确保Yii中的所有已定义变量都由语句
定义defined('ROOT_DIR') or define('ROOT_DIR', realpath(__DIR__ . '/../'));