C# DeploymentItem未部署文件
我正在使用C# DeploymentItem未部署文件,c#,unit-testing,visual-studio-2012,vs-unit-testing-framework,deploymentitem,C#,Unit Testing,Visual Studio 2012,Vs Unit Testing Framework,Deploymentitem,我正在使用MS单元测试框架测试我的C#库。我必须使用DeploymentItem属性打开正在部署的文件。但它并没有将文件部署到测试部署目录 在我的单元测试项目中,我创建了一个文件夹TestFile,在这个文件夹中有多个文件,比如a.txt,b.txt 现在在我的单元测试类中,我添加了DeploymentItem属性。但文件未被复制 这是我的密码 [TestClass] [DeploymentItem("TestFile")] public class CustomLibraryTest {
MS单元测试框架
测试我的C#库。我必须使用DeploymentItem属性
打开正在部署的文件。但它并没有将文件部署到测试部署目录
在我的单元测试项目中,我创建了一个文件夹TestFile
,在这个文件夹中有多个文件,比如a.txt,b.txt
现在在我的单元测试类中,我添加了DeploymentItem属性。但文件未被复制
这是我的密码
[TestClass]
[DeploymentItem("TestFile")]
public class CustomLibraryTest
{
public TestContext TestContext { get; set; }
[TestMethod]
[DeploymentItem(@"TestFiles\a.txt")] // THis should deploy a.txt to test deployment directory
{
var path = TestContext.TestDeploymentDir + "a.txt";
// Now when I debug this unit-test, and open path in explorer,
// a.txt is not present in "TestResults\Deploy_fhafeez 2013-05-28 13_02_37\Out" folder
}
}
我做错了什么?我在以下方面找到了两种可能的解决方案:
希望这能有所帮助。对于将来的参考,我在使用VS 2015时注意到-您在部署项属性中指定的路径必须与生成输出(调试文件夹)相关。如果文件夹结构为“UnitTesting\TestData\Test.xml”,则DeploymentItem必须为DeploymentItem(“..\..\TestData\Test.xml”)
在本例中,TestData文件夹不需要包含在UnitTesting项目中。我有一组测试,其中副本用于某些测试,但不是最新的,即使DeploymentItem属性的设置方式完全相同。在用尽所有其他方法之后,我在解决方案上做了一个“干净的解决方案”,然后重新运行,它开始正确复制。YMMV谢谢您的帮助。我设置“始终复制”。我已经使用测试设置完成了部署,这次我想使用DeplymentAttribute。这篇文章对我来说很有用,我的是VS2015 enterprise,没有添加“.\..\”,运行测试,总是没有找到文件。我包括了我的项目名(“上面例子中的UnitTesting”),这就扼杀了它。我一把它拿出来,它就起作用了。请注意,无论..\或..\是否存在,它都可以正常工作,这使我认为我们已经处于根位置,任何数量的..\都不会做任何事情。