0

最近我一直在学习 phpspec 和 gulp,并决定将它们集成到我的工作流程中。当我通过 composer 安装 phpspec 时,我得到了以下文件结构:

  • 小贩
    • 垃圾桶
      • php规范

还有更多文件和文件夹,但这些是相关的。

在我的 CMD 中,我目前指向项目的根目录并尝试运行:

vendor/bin/phpspec

但是,我收到一条错误消息,'vendor' isn't recognizes as internal or external command... 所以我通过执行移动到我的 bin 文件夹cd vendor/bin,然后运行phpspec它确实有效。但是,当我尝试描述一个类phpspec describe SeatsHandler时,它会创建不在根目录中的文件,而是在vendor/bin文件夹中创建它们:

  • 小贩
    • 垃圾桶
      • php规范
      • 规格
      • 源代码

我试图了解如何配置它并阅读有关phpspec.yml. 我已经在我的主文件夹中创建了这样的文件以及app目录(希望摆脱 app 目录):

    suites:
      app_suite:
        src_path: app

我尝试将此文件放在我的主目录中,但它不起作用,我得到了与以前相同的结果。我也尝试将这个文件移入vendor/bin,但无济于事。

如何让 phpspec 在我的根目录而不是里面创建文件vendor/bin?另外,为什么它忽略phpspec.yml?

编辑:

我设法通过将我的修改phpspec.yml为:

    suites:
      app_suite:
        src_path: ../../src/
        spec_path: ../../

并将其放入vendor/bin. 但是,仍然存在一个问题,如何在不进入vendor/binCMD 目录的情况下运行 phpspec?

4

2 回答 2

1

在您的 composer.json 文件中,只需像"bin-dir": "bin"下面config这样添加:

{
"require-dev": {
    "phpspec/phpspec": "~2.0"
},
"config": {
    "bin-dir": "bin"
},
"autoload": {"psr-0": {"": "bin/src"}}
}

并且您将在根目录中获得一个bin文件夹以及该vendor目录。

  • 垃圾桶
  • 小贩

然后你可以完全按照你的意愿在你的根目录上运行 phpspec。

于 2014-12-18T08:02:49.023 回答
0

您可以按以下方式全局安装它;

composer global require phpspec/phpspec

现在你可以称它为 phpspec

于 2019-01-05T18:14:36.317 回答