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