短い質問:複数の言語にまたがるプロジェクトでテスト駆動開発をどのようにフォローしますか?
具体的には、JavaScriptとPHPを使用するWebアプリケーションを作成していて、TDDの原則に従いたいのですが、それらを統合する方法がわかりません。JSセクションとPHPセクションで別々のテストスイートを実行し、JSスイートのモックを使用してサーバーの応答をエミュレートしますか?1回の実行で両方のコンポーネントを単体テストする手法はありますか?
これは、テスト駆動開発を使用した私の最初の経験なので、困難を少なくする方法について共有できるアドバイスがあればすばらしいでしょう。私がそれを選んだ理由は、プロトタイプが完成するとすぐに要件が変更され、設計を変更せざるを得なくなったためです。最初からやり直すのであれば、最初から組み込みの回帰テストを使ってより拡張可能なコードを書きたいと思っていました。
PHPテストはSimpleTestで、JavaScriptテストはJsTestDriverで作成しています。私はオブジェクト指向のパラダイムに慣れているので、PHPにはいくつかのクラスがあり、JavaScriptではプロトタイプ継承を使用して同様のことをしています。また、PythonでのTDDに関するこの本とJavaScriptでのTDD に関するこの本も読み始めましたが、これらすべては、Seleniumや別のWebドライバーなどを使用する以外のアプリケーションの完全なテストについては説明していません。フロントエンドの受け入れテストを実行するためにTDDはフルスタックの開発者のために切り取られていないだけですか?