gpt4 book ai didi

php - 如何配置 Behat 以从我的应用特定文件夹自动加载类

转载 作者:可可西里 更新时间:2023-11-01 01:14:37 25 4
gpt4 key购买 nike

我正在尝试在我现有的一个小项目上安装和配置 Behat。我理解将 *.feature 文件放入 features 文件夹的概念,也可以接受将我实际的 *Context.php 文件放入在 features/bootstrap 文件夹中。当我查看文档中提到实际功能实现的部分时,它暗示 Behat 默认情况下希望您将应用程序特定类放入同一文件夹中:

We put the Shelf class into features/bootstrap/Shelf.php because features/bootstrap is an autoloading folder for Behat. Behat has a built-in PSR-0 autoloader, which looks into features/bootstrap. If you’re developing your own application, you probably would want to put classes into a place appropriate for your app.

但是它在文档中的任何地方都没有提到我将如何配置 Behat 以便能够识别实际 app 文件夹中的类。

这是我的项目目录结构:

/
-/app
--/classes --where my apps classes actually live
-/features --behat generated folder
--/bootstrap --behat generated folder
-/public
-/system
-/vendor -- composer included libraries

我的项目使用它自己的自动加载器来搜索在 app/classes 文件夹中的类,并且类名使用下划线,其中目录分隔符将在路径中。例如class Controller_App 可以在 app/classes/controller/app.php

中找到

如何配置 Behat,使其不会在 features/bootstrap 文件夹中找到我的应用程序类?

最佳答案

解决方案是将以下内容添加到 composer.json:

"autoload": {
"psr-0": {"":"app/classes"}
}

然后运行composer dump-autoload

然后就可以了!

关于php - 如何配置 Behat 以从我的应用特定文件夹自动加载类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42530127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com