C#DeploymentItem无法复制MSTest单元测试的文件
在MSTest单元测试中使用C#DeploymentItem无法复制MSTest单元测试的文件,c#,visual-studio,mstest,deploymentitem,C#,Visual Studio,Mstest,Deploymentitem,在MSTest单元测试中使用DeploymentItem属性时,我很难将XSL文件复制到与测试程序集相同的目录。我按照选择的答案进行操作,需要复制的文件的“复制到输出目录”设置为“始终复制”。当我检查ProjectDir\bin目录(目标目录)时,我想要复制的文件确实在那里,与DLL和PDB一起 我使用以下设置进行了几个单元测试: private const string DLL = "Service.dll"; private const string XSL_PATH = "transfor
DeploymentItem
属性时,我很难将XSL文件复制到与测试程序集相同的目录。我按照选择的答案进行操作,需要复制的文件的“复制到输出目录”设置为“始终复制”。当我检查ProjectDir\bin目录(目标目录)时,我想要复制的文件确实在那里,与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\specialrtestrun\Out目录时,我看到了DLL和PDB,但我的XSL文件不在那里。我想知道的是,为什么即使我明确告诉Visual Studio通过
DeploymentItem将XSL文件复制到那里,XSL文件也不会与DLL和PDB一起被复制?由于我的一个相关问题,我尝试更新我的MSTest.testrunconfig文件,以便我的XSL文件包含在“部署”部分。这让我的单元测试通过了,但我仍然担心我必须这么做-DeploymentItem
和在项目中标记文件属性以复制到输出目录的组合是否足够?除非输出目录是一个文本字符串,否则VS2008部署项将以静默方式失败。Hmmm^ ^我遇到了同样的问题,尽管我在部署项中使用了文本字符串。我甚至尝试将该文件添加到测试设置的“部署”部分,但也没有成功。原来问题与测试平台有关
我有一台64位机器,我正在测试的项目和单元测试项目的平台目标都是“任何CPU”
我发现只有在选择“在64位计算机上的64位进程中运行测试”时,部署项才会被复制。我们在工作中遇到了类似的情况,即DeploymentItem属性未按预期工作。我们还使用64位计算机,project platform设置为“任意CPU”“。作为一种解决方法,我们将单元测试所需的文件作为单元测试项目的链接,并将其“复制到输出目录”设置为“始终复制”。我也遇到了同样的问题Sarah-确实非常混乱!你的消息来源在哪里?如果那是真的,那就太疯狂了。我想要我的字符串常量,该死!不是我个人复制的东西,但我有一些部署问题,我在谷歌上搜索了一下,发现很多博客说他们的DeploymentItem有问题,例如:最后我选择了.testrunconfig文件中的全局部署文件夹。