Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# UnitTesting
I have a file in my code (a library) that is required for running the code. In this case it is an XML file. Currently I have it in the root of the main program, and it works fine when running the code. However, I need this file for some information when running unit tests. How should I specify the path so that the file will be found? Currently I use the following code to load the file:
 
doc.Load(xmlFilePath.AbsolutePath);
 
For the applicaiton this argument is just
 
new Uri("QuickDateStrings.xml")
 
so effectively I have the following:
 
doc.Load(new Uri("QuickDateStrings.xml"));
Posted 3-Oct-12 14:25pm
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Hi Clifford,
 
Could you not add the xml file to your unit test project, similar to how we add library references in order to allow our unit test projects to gain visibility into our application or possibly add the xml file to the bin directory of your unit test project or a known directory and attempt the same call?
  Permalink  
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

Ends up that you can at least get the path for an assembly:
 
string _testPath = Path.GetDirectoryName(Assembly.GetAssembly(typeof(MdyPastTests)).Location);
 
Thus can bypass the problems of the executing assembly in test, which can be very strange, and just use the location of some class.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 350
1 Jochen Arndt 190
2 Richard MacCutchan 135
3 Sergey Alexandrovich Kryukov 120
4 DamithSL 95
0 OriginalGriff 6,045
1 DamithSL 4,611
2 Maciej Los 4,087
3 Kornfeld Eliyahu Peter 3,480
4 Sergey Alexandrovich Kryukov 3,310


Advertise | Privacy | Mobile
Web02 | 2.8.141220.1 | Last Updated 12 Oct 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100