如何 运行 从重命名或非默认文件夹进行测试?
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
Я 通过 PhpStorm 和 Codeception 设置测试。它工作正常。测试可以成功启动。但我想做集成测试。我做了一个 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.yml
和 functional.suite.yml
之外,您还应该添加一个带有设置的 integrational.suite.yml
文件。在这种情况下,来自 integrational
文件夹的测试也将起作用。