3

私は C# で HttpModule を作成しており、コードをテストするために多数の単体テストを作成しています。

このモジュールは非常に単純で、多数の Cookie を検査し、ビジネス ロジックに基づいて期限切れにする必要があるものを期限切れにするだけです。

しかし、これで何も壊れないようにしたいと思います。だから私はそれをよく徹底的にテストしたいです!

リクエスト オブジェクトとレスポンス オブジェクトをモックするための System.Web.Abstractions の使用に関する記事を読みました。これは素晴らしいです、そしてうまくいきます!詳細については、http ://www.kongsli.net/nblog/2009/05/03/aspnet-35-improving-testability-with-systemwebabstractions/ を参照してください。

しかし、HttpModules の作成に関して本当にテストする必要があるものがあるかどうかを知りたいです。ビジネス ロジック コードに直接関係のないもの。たとえば、モジュールを正しく破棄することをテストするもの、または潜在的に壊れる可能性のあるもの。

ありがとう、JP

4

1 に答える 1

3

簡単:

  1. 実装内にロジックを入れないでくださいIHttpModule
  2. Cookie を変更するだけなので、独自のクラスに渡すだけです。

例:

void InYourHttpModule()
{
    myLogic.Invoke(Request.Cookies, Response.Cookies);
}

そうすれば、ロジックが言うことだけを実行することを検証するのは非常に簡単です。

于 2012-11-13T09:05:15.520 に答える