У меня есть тестовый проект в решении Visual Studio 2010, который тестирует другой проект, который является утилитой FTP. Тестовый проект нуждается в FTP-файлах здесь и там, поэтому я использую тестовый файл, чтобы перейти к методам утилит и убедиться, что он загружен / заархивирован / и т.д. В моем тестовом проекте у меня есть корневая папка с именем TestFiles, в которой находится один файл .txt. Я хочу, чтобы всякий раз, когда кто-то проверял решение из системы контроля версий и запускал модульные тесты, файл в этой папке захватывался и использовался в модульных тестах FTP.
Я пытался использовать это и варианты в командной строке событий после сборки, но безуспешно:
copy $(ProjectDir)TestFiles\Test.txt $(ProjectDir)Debug\bin\Test.txt
Все, что я действительно хочу сделать, это убедиться, что я могу использовать относительный путь для любых локальных тестовых файлов, чтобы у меня не возникало проблем независимо от того, куда кто-то из моей команды проверяет проект (или если Foundation Server запускает автоматическую сборку и запускает модульные тесты для моего проекта).
В настоящее время я пытаюсь получить доступ к файлу в своих модульных тестах, вот так, чтобы я просто взял его из области отладки:
ftp.uploadThisFileSomewhere(
AppDomain.CurrentDomain.BaseDirectory + "\\TestFiles\\Test.txt");
Итак, это правильный способ получить тестовый файл? Я не думаю, что это так, но я не могу найти хороший документ по лучшим практикам. Если это достаточно хорошо, как вы копируете / гарантируете относительное местоположение независимо от того, где проект построен / запущен ?