【发布时间】:2010-11-25 09:33:52
【问题描述】:
我有一个方法,我在 C#/ASP.Net Web 项目中添加了单元测试。该方法已被其他人修改,包括对包装 HttpContext 的类上的静态方法的调用(以添加一些会话状态),但在测试期间我没有 HttpContext,因此这会引发空引用异常。任何想法如何解决这个问题?如果可以的话,我不想对生产代码进行太多更改。
待测方法:
public int MethodUnderTest()
{
...
// Added line which breaks the tests
StaticClass.ClearSessionState();
}
在静态类中:
public void ClearSessionState()
{
HttpContext.Current.Session["VariableName"] = null;
}
这会引发NullReferenceException,因为HttpContext.Current 在测试期间为空。
【问题讨论】:
标签: c# unit-testing static-methods httpcontext