You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yii2中如何在重命名或自定义测试文件夹中运行Codeception测试

解决方案

Codeception 的测试套件和配置文件是一一绑定的,新增/修改自定义测试目录无法运行的核心原因是没有对应调整套件配置,具体修改步骤如下:

1. 配置匹配逻辑说明

你查看的Bootstrap.php代码里读取的$settings参数,全部来自对应套件的.suite.yml配置文件:

  • 默认存在的unit.suite.yml对应unit测试目录、functional.suite.yml对应functional测试目录
  • 你重命名原有测试目录后,配置文件里指定的路径还是旧目录名,所以会提示找不到引导文件
  • 新建的integrational目录没有对应配置文件,Codeception不会主动识别为测试套件

2. 新增自定义集成测试套件操作步骤

步骤1:新建套件配置文件

在tests根目录下新建integrational.suite.yml,可以直接复制已有functional.suite.yml的内容调整,核心要指定正确的测试目录路径,示例配置参考:

# integrational.suite.yml
actor: IntegrationalTester
path: integrational # 必须和你新建的测试目录名完全一致
bootstrap: _bootstrap.php # 对应测试目录下的引导文件名
modules:
    enabled:
        - Yii2
        - \Helper\Integrational
        - Asserts
    config:
        Yii2:
            configFile: 'config/test-integrational.php' # 可根据你的集成测试需求调整对应Yii配置文件路径

步骤2:补充测试目录必要文件

在tests/integrational目录下新增_bootstrap.php,可以直接复制unit/functional目录下的同名文件内容,根据你的集成测试需求做调整即可。

步骤3:生成测试类

在项目根目录执行命令生成对应Tester类:
php vendor/bin/codecept build

步骤4:运行测试

  • 命令行运行:直接执行php vendor/bin/codecept run integrational即可运行所有集成测试用例
  • PhpStorm运行:新建Codeception运行配置,套件选择integrational后点击运行即可

3. 原有测试目录重命名修改方法

如果是要把原有functional目录改名为functional2,不需要新建配置文件,只需要修改functional.suite.yml里的path参数值为functional2即可。


内容的提问来源于stack exchange,提问作者Сергей О.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:36:04