2011-10-05 6 views
7

私は通常、Apacheの下でmod_perlで動作するWebアプリケーションを使って作業しています。同僚と私はユニットテストをやろうとしています。 Webサーバーのコンテキストの外でこのコードを実行するのに役立つセッションやリクエストなどを模擬するための優れたツールやテクニックがありますか?ユニットテストのためにApacheセッションデータをモックアップ

答えて

3

mod_perl 1を使用している場合は、mod_perlに付属するApache::FakeRequestがあります。それは要求オブジェクトの完全なモックではないので、独自のメソッドを追加する必要があります。あなたのコードがApache::Requestを使用している場合はさらに。さらにクッキーとアップロードのために。ほとんどあなたはTest::MockObjectで多くの時間を費やしています。幸いにも、Apacheオブジェクトのインターフェースはかなり単純です。

もっと堅牢なテストとデバッグ機能を提供するPlackベースのフレームワーク(Catalyst、Dancerなど)に切り替えることを検討してください。 mod_perl2を使用しているなら、あなたは運がいいです! Plackでmod_perl2アプリケーションをラップするのは簡単です(mod_perl 1に関連しています)。 Plack::App::FakeApacheはあなたのための仕事のほとんどを行います。 Here is a discussionさまざまなテクニックとメリットを紹介します。

+0

mod_perl 2の[Apache2 :: FakeRequest](https://metacpan.org/pod/Apache2::FakeRequest)もあります。 – Flimm

関連する問題