我已经开始了一个作曲家项目,并且已经包含了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?
为什么它看不到已经创建的类?
答案 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
,它确实解决了问题。