3

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

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

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

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

ありがとう

4

2 に答える 2

3

PhpSpec を使用して、ユニット テスト可能な方法で Command をテストできます。それほど悪くはありませんが、多くの入出力のモックが作成されます。

Commandsは、単体テスト済みの他のサービスに委譲して、適切で小さくしておく方が良いでしょう。そうすれば、Behat でカバーして、それらが機能しているという自信を得ることができます。

これは、コントローラーのテストと非常によく似た問題ですが、単体テストのアプローチを試すと、コマンドにはモックする依存関係が多くなります。

于 2014-04-19T08:31:55.577 に答える