Я испытываю затруднения, заставляя файл XSL быть скопированным в тот же каталог как опытная сборка, когда я использую DeploymentItem
атрибут на модульном тесте MSTest. Я следовал выбранному ответу для этого вопроса и файла, в котором я нуждаюсь скопированный, имеет его "Копию для Вывода Каталога" набор для "Копирования Всегда". Когда я проверяю свой каталог ProjectDir\bin (каталог Target), файл, который я хочу скопированный, действительно там, вместе с DLLs и PDBs.
У меня есть пара модульных тестов со следующей установкой:
private const string DLL = "Service.dll";
private const string XSL_PATH = "transform.xsl";
[TestInitialize]
public void InitializeTest()
{
Assert.IsTrue(File.Exists(DLL)); // passes
}
[TestMethod]
[DeploymentItem(DLL)]
[DeploymentItem(XSL_PATH)]
public void XmlToResultsTest()
{
Assert.IsTrue(File.Exists(XSL_PATH)); // fails
}
XSL тестируют сбои, потому что, когда я проверяю каталог TestResults\particularTestRun\Out MSTEST, я вижу DLLs и PDBs, но мой файл XSL не там. То, что я хочу знать, - то, почему файл XSL не становится скопированным вместе с DLLs и PDBs, даже когда я явно говорю Visual Studio копировать его там через DeploymentItem
?
Ответ Ответ Ответ Marc Gravell к которому мой вопрос . Раздел «Развертывание». Это позволяет своим модульным тестам проходить, но я все еще возмущаю, что я должен был сделать это - не должен быть комбинация deploymentItem
и отмечает свойства файла в моем проекте для копирования в каталог выходных данных. ?
Утверждается, что элементы развертывания VS2008 молча терпят неудачу, если выходной каталог не является литеральной строкой. Хммм ^_^