带有 behat 的附加目录

Additional directories with behat

我正在使用 behat 进行自动化测试 - 遇到了一个我似乎找不到解决方案的问题。

我的 behat.yml 拥有所有常见的东西;我得到了功能和 boostrap 的目录 - 一切正常。

现在,我有一个单独的目录,其中包含我在测试执行期间需要的其他 类。当然,虽然我可以使用很多 require,但我确信有更好的方法可以将目录添加到自动加载器 - 但我不知道如何做。

比如我的目录结构如下:

test/
    features/
    bootstrap/
    lib/
    behat.yml

behat.yml 包含这个:

default:
  autoload: [%paths.base%/boostrap]
  suites:
    web:
      paths: [%paths.base%/features/web]
      contexts: [Web\LoginContext]
    api:
      paths: [%paths.base%/features/api]
      contexts: [Api\ApiContext]

目录 lib 包含我需要在测试中使用的附加 类。如何将 lib 目录添加到自动加载器?

经过一番努力,我有点明白了。我需要将此目录添加到我的 composer.json 文件中:

"autoload": {
    "psr-4": {
        "MyNameSpace\": "lib/"
    }
}

然后 运行 composer update.