I am using MS unit testing framework
for testing my C# library. I have to open a file which I'm deploying using DeploymentItem attribute
. But it is not deploying file to the Test deployment directory.
In my Unit-test project, I created a folder TestFile
in this folder there are multiple files, lets say a.txt, b.txt.
Now in my Unit-test class I added DeploymentItem attribute. But file is not being copied.
Here is my code.
[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
}
}
What I am doing wrong?
I have found two possible solutions in this thread:
Hope this helps.
For future references, from what I have noticed using VS 2015 - the path you specify in the deployment item attribute must be relative to the build output (debug folder). If your folder structure is "UnitTesting\TestData\Test.xml" the DeploymentItem must be DeploymentItem("..\..\TestData\Test.xml") In this case, the TestData folder need not be included in the UnitTesting project.
I had a set of tests where the copy was working for some tests but not the latest, even though the DeploymentItem attribute was set exactly the same way. After exhausting everything else, I did a "Clean solution" on the solution and reran and it started copying correctly. YMMV
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With