問題タブ [phpspec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
903 参照

symfony - Symfony2 コマンドのテストに phpspec を使用する

アプリケーションをテストするために phpspec を使用しています。ここで、いくつかのコマンドを開発する必要があるため、これらについても仕様を定めたいと思います。

ドキュメント ( http://symfony.com/doc/master/cookbook/console/console_command.html#testing-commands ) では、phpunit を使用してコマンドをテストする方法しか説明されていないため、ここで少し立ち往生しています。

仕様で同様のアプローチ(何らかの方法でカーネルを作成し、問題のコマンドをインスタンス化する)を使用したとしても、これは動作を記述するという考えには従わないと思います。出力が正しいかどうかだけを指定しますが、コマンドが正しいメソッドを呼び出しているかどうかなどは指定しません。

Symfony2 コマンドを正しく記述するために phpspec を使用した人はいますか? これを行うための実行可能なアプローチは何でしょうか?

ありがとう

0 投票する
2 に答える
825 参照

php - let の phpspec スカラー値

スカラー値で let 関数を使用しようとしています。私の問題は、価格が Double であることです。int 5 を期待していました。

エラー:

let 関数を使用して 5 を注入する方法はありますか?

0 投票する
1 に答える
1178 参照

php - PHPSpec/Prophecy で参照渡しされる仮パラメーターのスタブ

PHPには次のようなメソッドがあります。

$discountAmountPHPSpecでスタブする方法はありますか? $someServiceテスト中のクラスがあり、コンストラクターを介して注入したとしましょう。私の仕様では、次を使用します。

メソッドの戻り値のスタブを作成します。$discountAmount仮パラメータでこれを行うにはどうすればよいですか?

0 投票する
2 に答える
1561 参照

php - PHP クラスが別の名前空間から見つかりません

現在、Phpspec を使用して Symfony2 プロジェクトに取り組んでおり、別の名前空間で記述されている Spec クラスを拡張する際に問題が発生しています。

たとえば、私のプロジェクトでは、 で説明されている次のクラスがありますspec/Acme/Model/Foo/FooSpec.php

spec/Acme/Model/Bar/BarSpec.phpそして、私は拡張に別のクラスを持っていますFooSpec:

phpspec を実行しようとすると、次のエラーが発生します。

PHP Fatal error: Class 'spec\Acme\Model\Foo\FooSpec' not found in /home/user/Projects/Acme/spec/Acme/Model/Bar/BarSpec.php on line 9

私が見つけた唯一の方法は、次の行を に追加することでしたspec/Acme/Model/Bar/BarSpec.php

PhpSpec\ObjectBehavior特に他のクラス ( など) が正しく見つかった場合に、この特定のファイルを含めて実行する必要がある理由がわかりません。

なぜこれが起こっているのか分かりますか?


編集:

autoloadコメントで @Phil と @Sheikh Heera が示唆しているように、仕様の名前空間を登録するように設定しようとしましたが、どちらも機能していません。これが私がこれまでに試したことです:

vendor/composer/autoload_namespaces.phpまた、これを追加するためにファイルを変更しようとしました:

しかし、それでも同じエラーです。'spec' => array(getcwd())また、何が起こるかを試してみまし$loader->add('spec', getcwd());たが、今回はCannot redeclare class別の仕様クラスを取得しました。


私のphpバージョンはPHP 5.4.9-4ubuntu2.4 (cli).

よろしくお願いいたします。

0 投票する
1 に答える
289 参照

laravel - vagrant vm の phpspec - 権限エラー

新しい Laravel プロジェクトをセットアップしており、プロジェクト内で PHPSpec を使用したいと考えています。

ローカル OSX マシンから PHPSPec を実行できますが、VM 内から実行できるようにしたいと考えています。Vagrant VM (現在 Ubuntu 12) 内から実行すると、「コマンドが見つかりません」または「許可が拒否されました」というエラーが表示されます。これは、ファイルが VM で実行可能ではないためと思われ、chmod +x を実行しても違いはありません。

私のVagrantfileには次のものがあります:

これは、VM がすべてセットアップされたら、同僚がローカルでセットアップしなくても、VM を同僚に渡すことができるようにするためです。また、VM からすべての開発関連のタスクを実行する方が良いと感じています。これについては意見が分かれるかもしれません..

どんな助けでも大歓迎です。前もって感謝します!