我正在尝试设置Behat 3.0.我想改变我的功能所在的路径.
目前,我的behat.yml配置如下所示:
default:
autoload:
'': app/tests/acceptance
Run Code Online (Sandbox Code Playgroud)
运行behat --initwil acceptance/FeatureContext.php在app/tests目录中创建.
但是,它将features在我的项目的根目录中创建该文件夹.我想把这个features文件夹放在app/tests/acceptance文件夹中.
我怎样才能做到这一点?
小智 13
您唯一需要做的就是将自定义路径添加到默认配置文件:
default:
autoload:
'': %paths.base%/app/tests/acceptance
suites:
default:
paths: [ %paths.base%/app/tests/acceptance/features ]
Run Code Online (Sandbox Code Playgroud)
始终使用该%paths.base%变量可以从其他目录运行Behat测试.
根据Behat的PSR-0自动加载机制在您实施更多上下文时可能会出现问题.
好的做法是使用作曲家的PSR-4自动加载机制来运行命名空间的Behat功能.
在上面的示例中设置Behat后,您需要删除bahat.yml中的自动加载部分并添加contexts到default配置文件:
default:
suites:
default:
paths: [ %paths.base%/app/tests/acceptance/features ]
contexts: [ MyApp\Tests\Acceptance\FeatureContext ]
Run Code Online (Sandbox Code Playgroud)
将自动加载配置添加到composer.json:
{
[...]
"autoload-dev": {
"psr-4": {
"MyApp\\Tests\\Acceptance\\": "app/tests/acceptance"
}
}
[...]
}
Run Code Online (Sandbox Code Playgroud)
然后简单地转储自动加载器composer dump-autoload.
| 归档时间: |
|
| 查看次数: |
3941 次 |
| 最近记录: |