我有一个方法,我已经在C#/ ASP.Net Web项目中添加了单元测试。该方法已被其他人修改,以包含对包装HttpContext(添加一些会话状态)的类的静态方法的调用,但在测试期间,我没有HttpContext,因此会引发空引用异常。任何想法如何解决这个问题?如果我可以帮忙的话,我不想对生产代码做太多改动。被测单元测试一个包含HttpContext的静态类的调用
方法:
public int MethodUnderTest()
{
...
// Added line which breaks the tests
StaticClass.ClearSessionState();
}
在StaticClass:
public void ClearSessionState()
{
HttpContext.Current.Session["VariableName"] = null;
}
这将引发NullReferenceException
因为HttpContext.Current
测试过程中为空。