Я хочу написать единичный тест, который проверяет функцию класса под названием UploadedFile.Как я могу сделать HttpContext доступным для использования моими модульными тестами?
Проблема, с которой я сталкиваюсь, это статический конструктор этого класса, использует свойство HttpContext.Current и потому, что я запускаю свой модульный тест из библиотеки классов, у меня нет времени для HttpContext во время тестирования.
Посмотрите на мой статический конструктор:
static UploadedFile()
{
if (HttpContext.Current == null)
throw new Exception("web server not available");
HttpServerUtility server = HttpContext.Current.Server;
// SET UploadedFileMappingFile Names:
_resourceFileNames = new StringDictionary();
_resourceFileNames[_suppoertedFileStructures] = server.MapPath(SupportedUploadedFileStructures);
_resourceFileNames[_supportedFileStructuresXSD] = server.MapPath(SupportedUploadedFileStructuresXSD);
_resourceFileNames[UploadedFileEnum.UploadedFileFormatENUM.CSV.ToString()] = server.MapPath(UploadedFileColumnMap);
}
Что я должен делать в моей тестовой среде, так что HttpContext.Current
не будет аннулирована, и я могу успешно установить это:
HttpServerUtility server = HttpContext.Current.Server;
Спасибо за идею! К сожалению, я до сих пор не использовал Rhino.Mocks.dll. Кажется, мне нужно сначала познакомиться с этим, тогда я попытаюсь реализовать ваше предложение. Благодаря! – pencilCake