PHPSpec总是说我的规范不存在

时间:2014-06-05 10:18:51

标签: phpspec

我已经开始了一个作曲家项目,并且已经包含了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时, 它说测试

测试
  10!它是可初始化的       班级考试不存在。

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


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

为什么它看不到已经创建的类?

2 个答案:

答案 0 :(得分:4)

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

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

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

"config": {
    "bin-dir": "bin"
}

答案 1 :(得分:4)

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