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 ! 初期化可能なクラスです test は存在​​しません。

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 dumpautoloadたが、問題は解決しました。

于 2014-08-31T12:48:13.443 に答える
4

composer.json ファイルで PSR-0/PSR-4 オートローディングを設定する必要があるでしょう。たとえば、"src" ディレクトリ (src/Videosite/Test.php など) に名前空間付きのクラスがある場合は、composer.json でオートロード用に次のように設定します。

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

また、ベンダー/ビン内から phpspec を実行しているため、プロジェクトのルートがどこにあるかがわからない場合があります。composer.json に bin ディレクトリを設定すると、vendor/bin 内ではなく、プロジェクトのルートにある bin ディレクトリから phpspec を実行できます。

"config": {
    "bin-dir": "bin"
}
于 2014-06-05T20:27:14.043 に答える