このメソッドは機能します (渡された文字列でディレクトリを作成します):
internal static void ConditionallyCreateDirectory(string dirName)
{
Directory.CreateDirectory(dirName);
}
...しかし、私の OCDish 傾向に従って、「念のため」すべてのメソッドをテストしています。私のテストプロジェクトには、このテストがあります。
[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 は true ではありません。なんで?(どうやら) メソッドにステップ インして正確に何が起こっているかを確認することはできず、"Failed" メッセージには "Assert.IsTrue failed" 以外の何も表示されません。
これが失敗するのはなぜですか (fish)、なぜ失敗したのかを判断するにはどうすればよいですか (fish に教えます)。
アップデート
また、次のそれぞれを試しました。
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));