Some tests involve finding files in the BaseDirectory.
IT:AD:NUnit can do it just fine. MSTest can't.
If you are relying on AppDomain.CurrentDomain.BaseDirectory to get the root directory, your test will break.
There are two fixes.
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);
which is:
/// <summary>
/// An Example Test.
/// </summary>
[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));
}