Как скопировать собственные библиотеки в промежуточный каталог модульного теста в Visual Studio 2010 - PullRequest
5 голосов
/ 20 марта 2012

Мой проект имеет зависимости от некоторых собственных библиотек (DLL), которые я обычно копирую через цели MSBuild в выходной каталог.При запуске приложения проблем не возникает, но я пишу некоторые модульные тесты в Visual Studio, и каждый раз, когда я запускаю модульные тесты, сборки и исполняемые файлы копируются из выходного каталога в промежуточную папку: C:\path\to\MyProject\TestResults\myWorkStationName 2012-03-20 13_53_56\Out

К сожалению, собственные библиотеки DLL не копируются в промежуточный каталог, и промежуточный каталог создается при каждом запуске теста.Есть ли цель MSbuild, которая позволяет мне копировать содержимое в промежуточный каталог?

PS Я не уверен, что «промежуточный каталог» является правильным термином, поэтому прошу прощения за мое невежество, если это не так:).

Ответы [ 2 ]

4 голосов
/ 21 марта 2012

Решение для широкого развертывания

Из меню VS: Test> Edit Test Settings> (settings file)> Deployment> отметьте Enable deployment и добавьте каталог или файлы.

Примечание для одного предупреждения в этой функции: включенное развертывание для существующих тестов не будет работать, пока Visual Studio не будет перезапущен.

enable deployment

Развертывание с одним методом

Используйте атрибут [DeploymentItem] :

[TestMethod()]
[DeploymentItem("testFile1.txt")]
public void ConstructorTest()
{
    // Create the file to deploy
    Car.CarInfo();
    string file = "testFile1.txt";
    // Check if the created file exists in the deployment directory
    Assert.IsTrue(File.Exists(file), "deployment failed: " + file +
        " did not get deployed");
}
1 голос
/ 20 марта 2012

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

Тест-> Редактировать настройки теста-> Локальный

По вашему конкретному вопросу в этом окне настроек перейдите в «Развертывание», и вы сможете добавить дополнительные файлы для развертывания в каталог, где будет выполняться ваш модульный тест.

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

http://msdn.microsoft.com/en-us/library/ms182475.aspx

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