Как я могу подделать HttpContext для модульных тестов?

Мне нужно подделать таблицу HttpContext.Current.Application , чтобы получить доступ к ней из моих модульных тестов.

Мне нужно где-то хранить свои данные. Я думал, что могу просто передать экземпляр NameValueCollectionBase , но, как я обнаружил, этот базовый тип не имеет индексатора, поэтому он кажется слишком сложным для использования.

Так как насчет подделки этой части HttpContext ? Является ли это возможным? Как я могу это сделать? Будет ли полезен NUnit.Mocks ?

Заранее спасибо ...

9
задан Rola 31 December 2015 в 10:27
поделиться

2 ответа

Если вам нужны индексы для базы данных 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]));
}

Для хранения данных и передачи методов тестирования используйте приведенный выше код.

1
ответ дан 5 December 2019 в 01:42
поделиться

Пожалуйста, пройдите по ссылкам ниже, они вам помогут.

http://www.java2s.com/Open-Source/CSharp/Web-Frameworks/MvcContrib/MvcContrib/TestHelper/Fakes/FakeHttpContext.cs.htm

Mocking и HttpContextBase.get_User ()

Спасибо Венкат

2
ответ дан 5 December 2019 в 01:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: