我有一個方法,我已經在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
測試過程中爲空。