I have a test project in which I needs to load an XLSX file. For that, I added a file with copy-always so that it ends up in the build directory, but all of the following return a wrong path:
System.Reflection.Assembly.GetAssembly(typeof(testclass)).Location;AppDomain.CurrentDomain.BaseDirectoryDirectory.GetCurrentDirectory();
They all give me:
"C:\\Users\\username\\Documents\\visual-studio-projecten\\projectname\\TestResults\\username_ICT003 2012-06-20 12_07_06\\Out"
and I need
"C:\\Users\\username\\Documents\\visual-studio-projecten\\projectname\\TestProject\\bin\\Debug\\SupportFiles\\"
How do I accomplish that?
Use the DeploymentItemAttribute attribute. To quote MSDN:
This attribute identifies files and directories that contain files that are used by the deployed test to run. The test engine makes a copy of the deployment items and places them in test deployment directory based upon the OutputDirectory specified or the default directory.
For example:
Of course assuming you are using MSTest as your testing framework.