我已经开始了一个编写器项目,并包含了phpspec-st,
当我运行命令:
/var/www/yii-video-site/vendor$ bin/phpspec desc videosite/test
我得到消息:
Specification for videositetest created in /var/www/yii-video-site/vendor/spec/videosite/testSpec.php.
但是当我运行phpspec时,它说test
测试10 !它是可初始化的类test不存在
videosite/test
10 ! it is initializable
class videositetest does not exist.
Do you want me to create `test` for you?
为什么它看不到已经创建的类?
您可能需要在编写器中设置PSR-0/PSR-4自动加载。json文件。例如,如果你的命名空间类在"src"目录下:如src/Videosite/Test.php,那么你应该在composer.json中设置以下自动加载:
"autoload": {
"psr-0": { "": "src/" }
}
另外,您正在从vendor/bin中运行phpspec,因此它可能不知道项目的根目录在哪里。如果在composer中设置bin目录。你可以从项目根目录下的bin目录运行phpspec,而不是从vendor/bin:
"config": {
"bin-dir": "bin"
}
今天我又遇到了同样的问题。我试着在我的终端上运行composer dumpautoload
,它确实解决了问题。