MSTest VS2010 - DeploymentItem копирует файлы в разные места на разных машинах - PullRequest
5 голосов
/ 16 июня 2010

Я обнаружил, что DeploymentItem

[TestClass(), DeploymentItem(@"TestData\")]

не копирует файлы моих тестовых данных в одно и то же место, когда тесты создаются и запускаются на разных компьютерах.

Файлы тестовых данных копируютсяв каталог «bin \ debug» в тестовом проекте на моей машине, но на машине моего друга они копируются в «TestResults \ name_machine YY-MM-DD HH_MM_SS \ Out».

Каталог bin \ debug на моем компьютере можно получить с помощью кода:

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?

1 Ответ

2 голосов
/ 22 июня 2010

Поработав некоторое время, похоже, что лучший способ справиться с этим - убедиться, что для каждого подкаталога вы добавили новый DeploymentItem, убедившись, что вы указали «outputDirectory», например:

[TestClass(), DeploymentItem("TestData\\", "TestData"),
DeploymentItem(@"TestData\\SubDir\\", "TestData\\SubDir")]

Это позволяет выполнять тесты на вашем компьютере - надеюсь, это кому-нибудь поможет!

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