php - 找不到 Yii

标签 php unit-testing yii2 codeception

我尝试使用 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/

相关文章:

php - 限制来自非管理员用户的页面(PHP 和 MySQL

php - 在没有 php.ini 的情况下设置 display_errors=0 和 log_errors=1

unit-testing - 模拟 OSGi 上下文中的服务激活异常

javascript - '错误 : Unexpected request' during Karma Angular Unit Test

rest - Yii2 Rest API 自定义操作响应中的分页链接

php - Vagrant file_put_contents 权限被拒绝

php - 如何在 PHP 中使用 Postgresql 白名单和准备语句?

android - 如何测试它在 rxjava map/flatmap 中的模拟交互

PHP Regex/Yii2 模式允许字母、数字、空格和一些符号/特殊字符

php mysql ssl 连接失败,访问被拒绝错误