я обнаружил, что DeploymentItemMSTest VS2010 - DeploymentItem копирование файлов в разных местах на разных машинах
[TestClass(), DeploymentItem(@"TestData\")]
не копируя мои файлы тестовых данных в том же месте, когда тесты построены и работают на разных машинах.
The файлы тестовых данных копируются в "Bin \ Debug" каталога в тестовом проекте на моей машине, но на машине моего друга, они копируются в "TestResults \ name_machine YY-MM-DD HH_MM_SS \ Out" ,
Бункер \ каталог отладки на моей машине может быть получен с кодом:
string appDirectory =
Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
и тот же код будет возвращать TestResults\*name_machine YY-MM-DD HH_MM_SS*\Out
на моих друзей ПК.
Это, однако, не проблема. Проблема в том, что файлы тестовых данных, которые я создал, имеют структуру папок, и эта структура папок поддерживается только на моем компьютере при копировании в bin \ debug, тогда как на машине моих друзей только файлы добавляются в каталог TestResults\*name_machine YY-MM-DD HH_MM_SS*\Out
. Это означает, что тесты пройдут на моей машине и потерпят неудачу!
Есть ли способ обеспечить, чтобы DeploymentItem всегда копировался в папку bin \ debug? Или способ гарантировать, что структура папок будет сохранена, когда DeploymentItem скопирует файлы в папку TestResults\*name_machine YY-MM-DD HH_MM_SS*\Out
?
Это решило мою проблему относительного пути точно. У меня была та же проблема с файлами, хранящимися в подпапках и относительными путями, определенными в файле app.config. Thx –
Атрибут 'DeploymentItem' предназначен только для методов. Как вы вообще пишете? –