找不到 Yii

Codeception not found Yii

我已经尝试 运行 在 Yii2 项目中使用 codecept 进行单元测试。并收到下一个错误:

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":"*"

当你 运行 代码接收时,你不需要将它添加到你的 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 );