Cookies Asp.Net Web表单中的模拟HttpContext.Request.Cookie

Cookies Asp.Net Web表单中的模拟HttpContext.Request.Cookie,cookies,mocking,httprequest,httpcontext,Cookies,Mocking,Httprequest,Httpcontext,我正在寻找在Asp.Net Web表单中模拟HttpContext.Request.Cookie的最佳方法 以下是我的代码: public void Method1() { var _cookie = this.Context.Request.Cookies["PersonID"]; if (_cookie != null) { //some code......... } } 以下是我的测试方法代码的一部分: using (var httpSi

我正在寻找在Asp.Net Web表单中模拟HttpContext.Request.Cookie的最佳方法

以下是我的代码:

public void Method1()
{
    var _cookie = this.Context.Request.Cookies["PersonID"];
    if (_cookie != null)
    {
        //some code.........
    }
}
以下是我的测试方法代码的一部分:

using (var httpSimulator = new HttpSimulator("/", @"c:\inetpub\").SimulateRequest(new Uri(request), form))
{
 //some code
  var aObject= new ClassA(HttpContext.Current);
  aObject.Method1();

}
我不确定我们是否可以为HttpRequest模拟cookies。 请帮忙

多谢各位

谢谢,
Kan

最快的解决方案是用包装器类包装HttpContext。但是,只有当这些方法通过接口返回标量值或对象时,才能避免这种情况

因此,如果它返回一个不可模拟的对象,那么您的

根据我的经验,实现高百分比可测试代码的最佳方法是对应用程序分层。在这种情况下,您需要将HttpContext的所有用法分层。这意味着在UI层(代码隐藏或视图)上使用HttpContext。您必须牺牲这些上层的可测试性(可模拟性)