I'm having trouble getting an XSL file to be copied to the same directory as the test assembly when I use the DeploymentItem
attribute on an MSTest unit test. I followed the chosen answer for this question and the file I need copied has its "Copy to Output Directory" set to "Copy Always". When I check my ProjectDir\bin directory (the Target directory), the file I want copied is indeed there, alongside the DLLs and PDBs.
I have a couple unit tests with the following setup:
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
}
The XSL test fails because when I check MSTest's TestResults\particularTestRun\Out directory, I see the DLLs and the PDBs, but my XSL file is not there. What I want to know is why the XSL file does not get copied alongside the DLLs and PDBs even when I explicitly tell Visual Studio to copy it there via DeploymentItem
?