我如何确定我的测试方法失败的原因?

How can I determine why my test method fails?

此方法有效(它使用传入的字符串创建一个目录):

internal static void ConditionallyCreateDirectory(string dirName)
{
    Directory.CreateDirectory(dirName);
}

...但是,根据我的 OCDish 倾向,我正在测试 所有 方法 "just in case";我在我的测试项目中有这个测试:

[TestMethod]
public void TestConditionallyCreateDirectory()
{
    string testDirName = "testDir";
    RoboReporterConstsAndUtils.ConditionallyCreateDirectory(testDirName);
    bool dirCreated = System.IO.File.Exists(string.Format("C:\{0}", testDirName));
    // also tried @"C:\{0}" and @"C:\{0}"
    Assert.IsTrue(dirCreated);
}

但是失败了; dirCreated 不是真的。为什么?我无法(显然)进入该方法以查看究竟发生了什么,并且 "Failed" 消息除了 "Assert.IsTrue failed":

之外什么也没告诉我

为什么会失败(鱼),我如何确定失败的原因(授之以渔)?

更新

我现在还尝试了以下各项:

bool dirCreated = System.IO.Directory.Exists(string.Format("C:\{0}", testDirName));
bool dirCreated = System.IO.Directory.Exists(string.Format(@"C:\{0}", testDirName));
bool dirCreated = System.IO.Directory.Exists(string.Format(@"C:\{0}", testDirName));

你必须这样写:

[TestMethod]
public void TestConditionallyCreateDirectory()
{
    string testDirName = "C:\testDir";
    RoboReporterConstsAndUtils.ConditionallyCreateDirectory(testDirName);
    bool dirCreated = System.IO.Directory.Exists(testDirName);
    Assert.IsTrue(dirCreated);
}