Функциональные тесты, получение файла из папки App_Data - PullRequest
1 голос
/ 15 ноября 2010

Я пишу функциональные тесты, и метод, для которого я пишу тесты, должен получить доступ к файлу в папке App_Data.Я пробовал

System.Web.HttpContext.Current.Server.MapPath("~/App_Data/test.txt");

, а также

Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "test.txt");

Оба они не работают.Есть ли способ достичь этого в функциональном тесте?

Любые идеи в этом отношении очень ценятся.

Спасибо,

Раджа

1 Ответ

0 голосов
/ 16 ноября 2010

Я наконец нашел решение (с помощью моего архитектора решений). Мы настроили конфигурацию приложения для проекта функционального тестирования и установили имя файла в качестве одной из настроек приложения. После этого мы указали относительный путь к фактическому файлу как

[DeploymentItem(@"..\..\Project1\App_Data\Test.txt")] 

атрибут для тестового класса. Мы добавили простой хак для использования Absolute Path, если он находится в тесте (конфигурация приложения) и

Server.MapPath("Test.txt")

если это не тест. Логика решения заключается в том, что, поскольку мы помещаем файл как DeploymentItem, он идет прямо в соответствующую папку TestResults, поэтому, если мы используем абсолютный путь, он сможет ссылаться на него.

Надеюсь, это кому-нибудь поможет.

...