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 回答