如何 运行 从重命名或非默认文件夹进行测试?

How to run tests from renamed or not default folder?

Yii2 有测试文件夹结构:

- tests
  - _data/
  - _output/
  - _support/
  - acceptance/
  - functional/
  - unit/
  - _bootstrap.php
  - acceptance.suite.yml.example
  - functional.suite.yml
  - unit.suite.yml

Я 通过 PhpStormCodeception 设置测试。它工作正常。测试可以成功启动。但我想做集成测试。我做了一个 integrational 文件夹,写了测试,点击了“运行”,这个测试没有 运行。我的意思是,codeception 甚至没有进入文件夹。

如果我将 unit 文件夹重命名为 unit2 或将 functional 重命名为 functional2,则会出现错误:

Running with seed:

In Bootstrap.php line 31: Bootstrap file /var/www/myproject/tests/functional/_bootstrap.php can't be loaded

我认为路径是硬编码的。但是 Bootstrap.php 有以下几行:

public function loadBootstrap(SuiteEvent $e)
{
    $settings = $e->getSettings();
    //....
    
    $bootstrap = $settings['path'] . $settings['bootstrap'];
    if (!is_file($bootstrap)) {
        throw new ConfigurationException("Bootstrap file $bootstrap can't be loaded");
    }

    require_once $bootstrap;
}

无论如何。如何配置设置(以及在何处)以供来自自定义命名文件夹的 运行 测试使用?例如,如何从集成文件夹中 运行 进行集成测试?

答案来自 https://yiiframework.ru/forum/viewtopic.php?p=273945#p273945

的 Dmitriy Eliseev

就这么简单

套件是从 *.suite.yml 个文件中选取的。

因此,除了 tests 文件夹中的 unit.suite.ymlfunctional.suite.yml 之外,您还应该添加一个带有设置的 integrational.suite.yml 文件。在这种情况下,来自 integrational 文件夹的测试也将起作用。