Add content file in unit testing output directory
c#, unit-testing, visual-studio
Solution
You need to place a DeploymentItemAttribute on the test class.
For example to include all files in the Data folder
[TestClass()]
[DeploymentItem("Data")]
public class MyTestClass
{
...
}
Problem
I'm new with unit testing in visual studio and I want to load a physical xml file. This file is in the unit testing project as a Content and it's copied in the output directory. So, when I compile the project, the xml file is in the output directory. But when I execute the test, a new directory is created with all dependent DLL, but the xml file isn't copied. The content of the Xml is needed to execute the test. I execute this code to retrieve the path of the Xml file in the execution folder : ``` private static string GetXmlFullName() { // GetApplicationPath use the current DLL to find the physical path // of the current application string executeDirectory = AssemblyHelper.GetApplicationPath(); return Path.Combine(executeDirectory, "content.xml"); } ``` The exception is : ``` System.IO.DirectoryNotFoundException: 'd:\***\solutiondirectory\testresults\*** 2012-06-13 17_59_53\out\content.xml'. ``` How can I add this file in the execute folder? Thanks in advance. (and sorry for my english ...)