# IT:AD:MSTest:HowTo:Map Paths to Content Files #
* [[../|(UP)]]
{{indexmenu>.#2|nsort tsort}}
Some tests involve finding files in the BaseDirectory.
[[IT/AD/NUnit/]] can do it just fine. MSTest can't.
## Process ##
If you are relying on AppDomain.CurrentDomain.BaseDirectory to get the root directory, your test will break.
There are two fixes.
### The Hack ###
The fix is explained at http://www.ademiller.com/blogs/tech/2008/01/gotchas-mstest-appdomain-changes-in-vs-2008/.
Basically, you need to set your BaseDirectory in your MSTest TestClass constructor like this:
string currDir = Environment.CurrentDirectory.Substring(0, Environment.CurrentDirectory.IndexOf("TestResults"));
AppDomain.CurrentDomain.SetData("APPBASE", currDir);
### The Official mechanism
* http://www.sidesofmarch.com/index.php/archive/2008/12/29/mstest-deploymentitem-and-the-frustrating-relativepathroot-setting/
which is:
///
/// An Example Test.
///
[TestMethod]
[DeploymentItem(@"Templates\NV\Parts\SubHeader.nv",@"Templates\NV\Parts")]
[DeploymentItem(@"Templates\NV\body.nv", @"Templates\NV")]
[DeploymentItem(@"Templates\NV\Header.nv", @"Templates\NV")]
public void UnitTest_TransformDIrectlyUsingVendorService()
{
string path = environmentService.MapPath(@"Templates\NV\body.nv");
Assert.IsTrue(System.IO.File.Exists(path));
}
##References ##
* http://www.stormbase.net/converting-from-nunit-to-mstest
* http://www.ademiller.com/blogs/tech/2008/01/gotchas-mstest-appdomain-changes-in-vs-2008/
* http://www.sidesofmarch.com/index.php/archive/2008/12/29/mstest-deploymentitem-and-the-frustrating-relativepathroot-setting/