2014-02-07 3 views
0

Я ищу лучший способ издеваться над HttpContext.Request.Cookies в Asp.Net Web Forms.Mock HttpContext.Request.Cookies in Asp.Net Web Forms

Ниже мой код:

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. Пожалуйста, помогите.

Заранее большое спасибо,

Спасибо, Кан

ответ

0

Ваше быстрое решение, чтобы обернуть HttpContext с классом упаковщика. Но вы можете избежать этого, если методы возвращают скалярное значение или объект через его интерфейс.

Так что, если он возвращает немощный объект, ваш привинченный.

Из моего опыта, лучший способ добиться высокого процента тестируемого кода - сложить ваше приложение. В этом случае вы хотите использовать LAYER UP все применения HttpContext. Это означает использование HttpContext на уровне пользовательского интерфейса (код сзади или просмотр). Вы должны пожертвовать тестируемостью (mockingability) на этих верхних уровнях.