我如何确定我的测试方法失败的原因?
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);
}
此方法有效(它使用传入的字符串创建一个目录):
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);
}