如何从我的应用程序特定文件夹

时间:2017-03-01 11:09:17

标签: php tdd bdd behat

我试图安装&在我现有的小项目上配置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文件夹中找到我的应用程序类?

1 个答案:

答案 0 :(得分:3)

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

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

然后运行composer dump-autoload

然后它有效!