2013-06-19 62 views
8

現在、私はPHP用にどのフレームワークを使用すべきかを研究しています。私が持っている2つの選択肢はPHPUnitとPHPSpecです。私はPHPUnitがTDD(テスト駆動開発)であり、PHPSpecがBDD(動作駆動開発)であることを知っています。しかし、実際のP​​HPSpecチュートリアルがなく、PHPSpecサイトでは限られたドキュメンテーションがあるため、私は完全な結論に達することができません。私の質問は、2つのフレームワークの間にいくつかの類似点と相違点があります。はいBDDとTDDは大きなものですが、他にはありますか?そしてそれらは類似しているように見えますが、誰も彼らの類似点について非常に詳細に語りません。ありがとうございました。PHPUnitとPHPSpecの相違点と相違点

+0

たとえば、PHPSpecのサポートPHPUnitのようなマッピングは@dataProviderと同じですか? – applecrusher

答えて

8

PHPSpecは、テストフレームワークではなくコード設計の指針として、SpecBDDツールです。 これはツールから期待される内容によって異なり、適切なTDD/SpecBDDを作成したい場合は、開発者が読みやすくよく設計されたコードを書くのに役立つように作成されているため、PHPSpecを使用する方が簡単です。

TDD/SpecBDDは、すべてのエッジケースをテストすることや、アプリケーション全体の統合テストを行うことではないことに注意してください。これは、小さなコード単位の仕様書を書くことに関するものです。

数日前に私はそれについて話をしました、ここであなたはスライドを見つけることができます:http://www.slideshare.net/cakper/2013-0613-spug-spec-bdd-in-php私はそれが決定を下すのに役立つことを願っています。

+2

スライド(スライド46)には、次のものがあります。 $ this-> liveAndLet() - > shouldReturn($ die); これは、phpspecが、オブジェクトインスタンスのプロキシされたインスタンスにメソッド呼び出しを多重定義するためにリフレクションを使用していることを意味しますか? これは、私のクラスの中でphpspecのライブラリメソッドと同じメソッドを指定することができないことを意味しますか? –

関連する問題