私は現在、ajax呼び出しを管理し、ディスパッチするPHP用の簡単なフレームワークを開発中です。その特徴の1つは、バックエンドで何が起きているかによって自動的に適切なヘッダーを送信することです。過去数日間、私はPHPUnitの単体テストをたくさん書き始めました。まともなものを手に入れようとしていますcode coverage。コードのカバレッジがローカルで実行されない
しかし、私の知る限り、PHPの実行時にヘッダをチェック/チェックすることはできませんので、 CLIモードの場合、ローカルWebサーバーを介して多くのテストを実行する必要があります。これにより、ヘッダとレスポンスボディを簡単にチェックすることができます。残念なことに、これらのテストで実行されたコードは当然、PHPUnitによって追跡されません。 (ローカルでチェックできるコードはすべてローカルでチェックされていますが、ヘッダーに関連するものはすべてそのカテゴリに該当しません)。
私はheader()
コールをカプセル化して置き換えることができますそれはモックオブジェクトを使ったテスト中です。しかし、私はヘッダ置換のロジック全体を再実装しなければならないだろうし、その潜在的な癖やバグは何もないので、実際に起こっていることではなく、自分自身でheader()
の実装をテストすることになるだろう。私はしないでくださいしたいです。
私の質問はこれだと思います。コードカバレッジレポートにこれらの「リモートコール」を含めることはできますか?実際の状況でテストするためには、100%のコードカバレッジを逃してしまったという事実を受け入れなければなりませんか?
私はSeleniumの経験がありますが、それは素晴らしいツールですが、ここでは実際には適用されません。多分私は自分の問題をどのように記述しているのか分からなかったでしょう。 – n3rd
[Googleのグループ](http://stackoverflow.com/questions/679218/best-way-to-inspect-http-response-headers-with-selenium) ://groups.google.com/group/selenium-users/browse_thread/thread/3e9e08000e58ccd1/1205af3c6b161cc4?pli = 1)...しかし、別の方法で問題を説明したい場合は、助けてください... – ircmaxell
私はヘッダやレスポンス自体にアクセスしたりテストしたりするのに問題はありません。私はZend_Http_Clientを使っています。私は本当にセレンがこの特別なケースで何を提供しなければならないかを見ていません。 – n3rd