我试图安装&在我现有的小项目上配置Behat。我理解将*.feature
文件放入features
文件夹的概念,也可以将我的实际*Context.php
文件放在features/bootstrap
文件夹中。当我查看提及实际功能实现的文档部分时,它暗示Behat默认希望您将特定于应用程序的类放入同一个文件夹中:
我们将Shelf类放入features / bootstrap / Shelf.php中,因为 features / bootstrap是Behat的自动加载文件夹。 Behat有一个 内置PSR-0自动加载器,可查看功能/引导程序。如果 你正在开发自己的应用程序,你可能会想要 将课程分配到适合您应用的地方。
但是在文档中没有提到如何配置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文件夹中找到我的应用程序类?
答案 0 :(得分:3)
解决方案是将以下内容添加到composer.json
:
"autoload": {
"psr-0": {"":"app/classes"}
}
然后运行composer dump-autoload
然后它有效!