【发布时间】:2010-01-25 17:16:43
【问题描述】:
当我在 MSTest 单元测试中使用 DeploymentItem 属性时,无法将 XSL 文件复制到与测试程序集相同的目录中。我按照this question 选择的答案,我需要复制的文件将其“复制到输出目录”设置为“始终复制”。当我检查我的 ProjectDir\bin 目录(Target 目录)时,我想要复制的文件确实在那里,以及 DLL 和 PDB。
我有几个单元测试,设置如下:
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 测试失败,因为当我检查 MSTest 的 TestResults\particularTestRun\Out 目录时,我看到了 DLL 和 PDB,但我的 XSL 文件不存在。我想知道的是为什么即使我通过DeploymentItem 明确告诉 Visual Studio 将其复制到那里,XSL 文件也不会与 DLL 和 PDB 一起复制?
【问题讨论】:
标签: c# visual-studio mstest deploymentitem