單元測試時如何模擬HttpContext

2021-08-26 07:54:35 字數 769 閱讀 1753

在一些方法中使用了httpcontext.current.

class log

}

然後寫乙個測試方法

[testmethod]

public void testinsertlog()

執行測試,報未找到物件的錯誤,因為httpcontext.current這時為空,修改測試如下:

[testinitialize()]  //這裡使用testinitialize,而不是classinitialize是因為,測試類中可能同時存在多個測試方法,而每個測試方法都需要httpcontext.current,而httpcontext.current在乙個測試方法執行完畢後,又成為了null,所以使用testinitialize,以保證每次執行乙個方法時,都構造一遍httpcontext.current;

public void mytestinitialize()

public class myprincipal : iprincipal //模擬的iprincipal介面

public iidentity identity}}

public class myidentity : iidentity

}public string authenticationtype

}public bool isauthenticated

}}

單元測試時如何模擬HttpContext

在一些方法中使用了httpcontext.current.class log 然後寫乙個測試方法 testmethod public void testinsertlog 執行測試,報未找到物件的錯誤,因為httpcontext.current這時為空,修改測試如下 testinitialize 這...

單元測試之模擬Mock

先看下面一段 public class dataservice idataservice public int getcount 其中有 getcount 方法是為獲取列表的 count,我們為這個方法寫單元測試 getcount 中獲取列表是呼叫了 idatarespository 中的 getl...

單元測試模擬request後台

runwith springjunit4classrunner.class 讓測試執行於spring測試環境 contextconfiguration locations spring整合junit4測試時,使用註解引入多個配置檔案 1.編寫controller類 controller public...