фона:Как установить HttpContext.Current.User.Identity.Name для модульного тестирования
Я тестирую функцию внутри ASP.NET 4.0 (Web Forms не MVC), и я использую Модульное тестирование встроенный в Visual Studio 2010. Я создал отдельный тестовый проект и создаю тестовый класс для каждого класса в веб-проекте.
Вопрос:
Я столкнулся с проблемой, с одной из функций, которые используют HttpContext.Current.User.Identity.Name как часть логики. Как установить это значение в классе или методе проекта тестирования модуля, чтобы я мог проверить эту функцию?
Update:
То, что я надеялся на то, что там был дополнительный атрибут я мог установить выше моего метода испытаний. В настоящее время у меня есть:
[TestMethod()]
[HostType("ASP.NET")]
[AspNetDevelopmentServerHost("C:\\DEV\\ProjectName\\ClientWeb", "/")]
[UrlToTest("http://localhost:9018/")]
public void GetLoginTest()
{
// test code
}
Возможный дубликат [Тестирование веб-служб узла - HttpContext] (http://stackoverflow.com/questions/4028056/unit-testing-web-services-httpcontext) – BNL
RE: Атрибуты, HttpContext.Current несовместимы с модульное тестирование. Вам нужно и абстракция какого-то типа. – BNL