我在(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