2

我已经开始了一个作曲家项目并包含了 phpspec-st,

当我运行命令时:

/var/www/yii-video-site/vendor$ bin/phpspec desc videosite/test

我收到消息:

Specification for videosite\test created in /var/www/yii-video-site/vendor/spec/videosite/testSpec.php.

但是当我运行 phpspec 时,它说 test

测试
10!它是可初始化的类测试不存在。

videosite/test                                      
  10  ! it is initializable
      class videosite\test does not exist.


  Do you want me to create `test` for you?                            

为什么没有看到已经创建的类?

4

2 回答 2

4

您可能需要在 composer.json 文件中设置 PSR-0/PSR-4 自动加载。例如,如果您的命名空间类位于“src”目录中:类似于 src/Videosite/Test.php,那么您将在 composer.json 中为自动加载设置以下内容:

"autoload": {
    "psr-0": { "": "src/" }
}

此外,您正在供应商/bin 中运行 phpspec,因此它可能不知道您项目的根目录在哪里。如果在 composer.json 中设置 bin 目录,则可以从项目根目录中的 bin 目录运行 phpspec,而不是从 vendor/bin 内部:

"config": {
    "bin-dir": "bin"
}
于 2014-06-05T20:27:14.043 回答
4

我今天遇到了同样的问题。我试图composer dumpautoload在我的终端上运行,它确实解决了问题。

于 2014-08-31T12:48:13.443 回答