Я хочу добавить элемент развертывания в мой тест. Насколько я понял до сих пор, путь относительно решения. Я хочу, чтобы путь был относительно проекта. Иначе проект нельзя использовать в нескольких решениях. Как настроить элемент установки относительно переменной, зависящей от проекта?
Я надеялся на что-то подобное: [DeploymentItem(@"$(ProjectDir)..\..\bin\$(Configuration)")]
, но я не нашел никакой документации и похоже, что это не работает.
Я только что сделал небольшой тест. Обычный код мастера и один элемент развертывания:
[TestMethod]
[DeploymentItem("stdafx.cpp")]
void TestMethod1()
{
Assert::Fail();
};
и в trx-файле отображается следующая строка:
Warning: Проблема с развертыванием в тестовом режиме: Не удалось получить файл для элемента установки 'stdafx.cpp', указанного в тесте 'TestProject1.UnitTest1.TestMethod1': System.IO.FileNotFoundException: Не удалось найти файл 'd:\Development\Projects\deploymentItemTest\stdafx.cpp'. System.IO.FileNotFoundException: Не смог найти файл 'd:\Development\Projects\deploymentItemTest\stdafx.cpp'. Имя файла: 'd:\Development\Projects\deploymentItemTest\stdafx.cpp'
что означает, что поиск "stdafx.cpp" ведется относительно каталога решения (который находится в ...\depoymentItemTest), а не каталога проекта (который находится в ...\depolymentItemTest\TestProject1)