TFS: как ссылаться на выходной каталог в C # - PullRequest
1 голос
/ 04 февраля 2011

Использование VS2010 У меня есть тест, который вызывает метод, который запускает команду командной строки, которая выводит файл.

Файл выводится в: ... \ TestResults \ xxxxxx 2011-02-04 09_45_46 \Out

Я хочу проверить, что файл успешно записан

Есть ли способ ссылаться на этот путь без жесткого его кодирования?

Ответы [ 5 ]

1 голос
/ 07 февраля 2011

Извините, я вас понял.

Вы можете просто использовать свойство TestContext, которое поставляется с классами Unit Test. У вас есть свойства, такие как ResultDirectory, TestDir, TestDeploymentDir и т. Д ...

Если его нет в вашем TestClass, просто добавьте общедоступное свойство TestContext с именем TestContext.

Лучше всего просто создать новый класс модульного теста и посмотреть, как он используется.

1 голос
/ 04 февраля 2011

Я должен был сделать это вчера:

string outputDir = new DirectoryInfo(Assembly.GetExecutingAssembly().Location).Parent.FullName
0 голосов
/ 04 февраля 2011

Другой, более надежный вариант IMHO - предоставить выходной путь к утилите командной строки, которую вы можете указать в качестве известного местоположения (т.е. Path.GetTempPath или Path.GetRandomFileName).Таким образом, вы не встраиваете хрупкие зависимости бегуна тестов.

0 голосов
/ 04 февраля 2011

Вы можете указать специальные переменные в событиях сборки проекта.

Вот ссылка: Макросы для команд и свойств сборки

Я считаю OutDir или TargetDir isчто вы можете искать.

0 голосов
/ 04 февраля 2011

Вы имеете в виду часть xxxxxx 2011-02-04 09_45_46 на своем пути? Вы можете просто пройти по папкам в пути ...\TestResults\, получить последнюю папку (которая, надо надеяться, ту, которая вам нужна) и просто использовать Path.Combine, чтобы создать свой полный путь. Затем все, что вам нужно сделать, это проверить и посмотреть, есть ли файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...