我尝试使用 codecept 在 Yii2 项目中运行单元测试。并收到下一个错误:
PHP Fatal error: Class 'Yii' not found in /var/www/html/mysite/vendor/codeception/codeception/src/Codeception/Module/Yii2.php on line 77
这是我的 unit.suite.yml 内容:
# Codeception Test Suite Configuration
# suite for unit (internal) tests.
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.
class_name: CodeGuy
modules:
enabled: [CodeHelper, Yii2]
config:
Yii2:
configFile: 'config/web.php'
有人知道问题出在哪里吗?
最佳答案
首先确保你已经通过 composer 的标准方式安装了 codeception: "codeception/codeception":"*"
当你运行 codeception 时,你不需要将它添加到你的 unit.suite.yml 来加载 Yii。只需更改您可以在 rootfolder/tests/找到的 _bootstrap.php 文件并添加以下行:
<?php
// This is global bootstrap for autoloading
require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
$config = require(__DIR__ . '/../config/console.php');
//
$application = new yii\console\Application( $config );
关于php - 找不到 Yii,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28448166/