0

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

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

...但是,根据我的强迫症倾向,我正在“以防万一”测试所有方法;我在我的测试项目中有这个测试:

[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 不正确。为什么?我无法(显然)进入该方法以查看到底发生了什么,并且“失败”消息除了“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));
4

1 回答 1

0

你必须这样写:

[TestMethod]
public void TestConditionallyCreateDirectory()
{
    string testDirName = "C:\\testDir";
    RoboReporterConstsAndUtils.ConditionallyCreateDirectory(testDirName);
    bool dirCreated = System.IO.Directory.Exists(testDirName);
    Assert.IsTrue(dirCreated);
}
于 2016-02-25T18:40:14.317 回答