我在(WebApi)項目上使用NUnit
和RhinoMocks
進行單元測試。如何使用NUnit和Rhino Mock模擬HttpContext.Current.Items
有一個方法,我試圖編寫測試,這應該是添加一個項目到HttpContext.Current.Items。
public override void OnActionExecuting(HttpActionContext actionContext)
{
HttpContext.Current.Items.Add("RequestGUID", Guid.NewGuid());
base.OnActionExecuting(actionContext);
}
我不知道我怎樣才能使HttpContext.Current.Items
可用的方法,從測試方法中跑的時候。我怎樣才能做到這一點?
另外,我怎麼能檢查,如果該項目已被添加(可以/我應該使用什麼樣的斷言)
您是否能夠重構該代碼?它與'HttpContext'緊密耦合,這使得測試非常困難,應該避免。 – Nkosi
是的,我。你有什麼建議?我只是簡單地將HttpContext包裝在一個虛擬/空的類中,還是其他的東西? – Eedoh
什麼版本的asp.net是這樣的。 MVC5 ?, WEB API 2?需要更多的上下文以瞭解該方法從哪裏來的 – Nkosi