Мне нужно подделать таблицу HttpContext.Current.Application
, чтобы получить доступ к ней из моих модульных тестов.
Мне нужно где-то хранить свои данные. Я думал, что могу просто передать экземпляр NameValueCollectionBase
, но, как я обнаружил, этот базовый тип не имеет индексатора, поэтому он кажется слишком сложным для использования.
Так как насчет подделки этой части HttpContext
? Является ли это возможным? Как я могу это сделать? Будет ли полезен NUnit.Mocks
?
Заранее спасибо ...
Если вам нужны индексы для базы данных namevaluecollection, используйте приведенный ниже код
public static IEnumerable<KeyValuePair<string, string>> ToPairs(this NameValueCollection collection)
{
if(collection == null)
{
throw new ArgumentNullException("collection");
}
return collection.Cast<string>().Select(key => new KeyValuePair<string, string>(key, collection[key]));
}
Для хранения данных и передачи методов тестирования используйте приведенный выше код.
Пожалуйста, пройдите по ссылкам ниже, они вам помогут.
Mocking и HttpContextBase.get_User ()
Спасибо Венкат