单元测试的最佳实践IHttpModule

时间:2012-11-13 08:56:59

标签: c# unit-testing httpmodule

我正在用C#编写HttpModule,并编写了许多单元测试来测试代码。

该模块非常简单,它所做的就是检查大量的cookie,并根据我们的业务逻辑使需要过期的cookie过期。

但我想确保这不会破坏任何事情。所以我想测试它好而彻底!

我已经阅读了有关使用System.Web.Abstractions模拟请求和响应对象的文章。这很棒,而且很有效!有关详细信息,请查看:http://www.kongsli.net/nblog/2009/05/03/aspnet-35-improving-testability-with-systemwebabstractions/

但是我想知道在编写HttpModules时是否还需要测试一些东西。与我的业务逻辑代码没有直接关系的东西。例如,测试我正确处理模块的东西,或其他可能会破坏的东西。

谢谢, JP

1 个答案:

答案 0 :(得分:2)

简单:

  1. 不要将逻辑放在IHttpModule实现中。
  2. 由于您只修改了Cookie,只需将它们传递给您自己的类。
  3. 示例:

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

    通过这种方式,可以非常轻松地验证您的逻辑是否按照其所说的内容进行操作。