Элементы развертывания в настройках .runsettings

Я переношу большое решение из VS 2010 в VS 2013. У нас есть несколько тысяч тестов, которые не запускаются, когда мы используем файл .runsettings. Наш предыдущий файл тестовых настроек имел тип .testsettings. Мое понимание (после очень расстроенного Googling) заключается в том, что для использования нового тестового бегуна VSTest вам нужно использовать файл .runsettings. Я не смог найти много документации о том, что этот файл может поддерживать. Это в основном единственный доступный ресурс: http://msdn.microsoft.com/en-us/library/vstudio/jj635153.aspx

В нашем предыдущем файле .testsettings был большой раздел для элементов развертывания, которые теперь не могут быть найдены, и, следовательно, тесты немедленно завершаются. Проблема заключается в том, что я не могу понять, что включение элементов развертывания по-прежнему является опцией в файле .runsettings.

<Deployment>
  <DeploymentItem filename="C:\Solution\Project\SomeSettings.xml" outputDirectory="C:\Solution\Project\bin" />
</Deployment>

Поддерживает ли новый формат тестовых параметров .runsettings выполнение элементов развертывания?

Ответ 1

.runsettings не поддерживает элементы развертывания так же, как и с .testsettings, к сожалению, и я нахожу это очень расстраивающим, поскольку это был очень чистый способ развертывания зависимостей. Существует параметр, связанный с ним в .runsettings (DeploymentEnabled), но все это, похоже, контролирует выполнение тестов в отдельном каталоге, а не в каталоге вывода приложения.

После долгих проб и ошибок, я просто изменил все файлы .csproj в моих тестовых проектах, чтобы иметь действие сборки CopyIfNewer в окне "Свойства" в Visual Studio, чтобы все зависимости были скопированы в вывод, чтобы они были найдены при запуске тестов.

Я думаю, что все сказали, что я провел около 2-3 часов, обновляя все тесты, чтобы снова запустить их.

В плюсе все происходит намного быстрее, так как нет необходимости копировать все двоичные файлы в новый каталог после их компиляции, поскольку все работает "на месте".