現在、私はPHP用にどのフレームワークを使用すべきかを研究しています。私が持っている2つの選択肢はPHPUnitとPHPSpecです。私はPHPUnitがTDD(テスト駆動開発)であり、PHPSpecがBDD(動作駆動開発)であることを知っています。しかし、実際のPHPSpecチュートリアルがなく、PHPSpecサイトでは限られたドキュメンテーションがあるため、私は完全な結論に達することができません。私の質問は、2つのフレームワークの間にいくつかの類似点と相違点があります。はいBDDとTDDは大きなものですが、他にはありますか?そしてそれらは類似しているように見えますが、誰も彼らの類似点について非常に詳細に語りません。ありがとうございました。PHPUnitとPHPSpecの相違点と相違点
答えて
PHPSpecは、テストフレームワークではなくコード設計の指針として、SpecBDDツールです。 これはツールから期待される内容によって異なり、適切なTDD/SpecBDDを作成したい場合は、開発者が読みやすくよく設計されたコードを書くのに役立つように作成されているため、PHPSpecを使用する方が簡単です。
TDD/SpecBDDは、すべてのエッジケースをテストすることや、アプリケーション全体の統合テストを行うことではないことに注意してください。これは、小さなコード単位の仕様書を書くことに関するものです。
数日前に私はそれについて話をしました、ここであなたはスライドを見つけることができます:http://www.slideshare.net/cakper/2013-0613-spug-spec-bdd-in-php私はそれが決定を下すのに役立つことを願っています。
スライド(スライド46)には、次のものがあります。 $ this-> liveAndLet() - > shouldReturn($ die); これは、phpspecが、オブジェクトインスタンスのプロキシされたインスタンスにメソッド呼び出しを多重定義するためにリフレクションを使用していることを意味しますか? これは、私のクラスの中でphpspecのライブラリメソッドと同じメソッドを指定することができないことを意味しますか? –
- 1. IE標準、相違点および相違点の相違点
- 2. importとconstとの相違点とcommonjsでの相違点
- 3. =と:=の相違点
- 4. CBUUIDとNSUUIDの相違点
- 5. NSTimeZoneとGMTの相違点
- 6. ListViewとArrayListの相違点
- 7. pictureBox.Update()とpictureBox.Refresh()の相違点
- 8. ApplicationContextInitializerとBeanFactoryPostProcessorの相違点
- 9. システムとshell_execの相違点
- 10. AsyncSocketとAsyncUdpSocketの相違点
- 11. .textと.get_text()の相違点
- 12. plt.close()とplt.clf()の相違点
- 13. `BeginSubscribeToStreamingNotifications`と` SubscribeToStreamingNotifications`の相違点
- 14. Delegate.InvokeとDelegateの相違点
- 15. InternalResourceViewResolverとUrlBasedViewResolverの相違点
- 16. tf.nn.convolutionとtf.nn.conv2dの相違点
- 17. Backbone.Layout.extendとBackbone.view.extendの相違点
- 18. JavaとMacOSの相違点
- 19. Yocto:CORE_IMAGE_EXTRA_INSTALLとIMAGE_INSTALLの相違点
- 20. window.someRandomVarとsomeRandomVarの相違点
- 21. CDRとxDRの相違点
- 22. gst_bus_add_watch()とg_signal_connect()の相違点
- 23. EventStreamとEventBusの相違点
- 24. System.Threading.Tasks.DataflowとMicrosoft.Tpls.Dataflowの相違点
- 25. mkfifo()とmknod()の相違点
- 26. java.homeとJAVA_HOMEの相違点
- 27. $ httpParamSerializerJQLikeと$ httpParamSerializerの相違点
- 28. doAfterTerminateとdoFinallyの相違点
- 29. Boost.CoroutineとBoost.Coroutine2の相違点
- 30. ModalControllerとNavControllerの相違点
たとえば、PHPSpecのサポートPHPUnitのようなマッピングは@dataProviderと同じですか? – applecrusher