Прежде всего, я знаю, что этот вопрос опасно близок к:
Как MapPath в модульном тесте в C #
Я надеюсь, однако, что у него есть другое решение. Моя проблема следует:
В моем коде у меня есть объект, который нужно проверить. Я создаю модульные тесты для каждого метода проверки, чтобы убедиться в его правильности. Я создаю фиктивные данные и загружаю их в объект, затем проверяю их. Проблема заключается в том, что в процессе проверки при возникновении ошибки присваивается код ошибки. Этот код ошибки используется для сбора информации об ошибке из XML-файла с помощью Server.MapPath. Однако при попытке получить файл XML возникает исключение, означающее, что файл не найден.
Поскольку MapPath находится в моем коде проверки, а не в модульном тесте, как мне заставить мой модульный тест распознавать путь? Имеет ли этот вопрос смысл?
Строка ошибки (в моем коде проверки НЕ мой модульный тест):
XDocument xdoc = XDocument.Load(HttpContext.Current.Server.MapPath("App_Data/ErrorCodes.xml"));
Упрощено: модульный тест вызывает в моей программе метод, который вызывает Server.MapPath, который затем завершается ошибкой.