为什么围绕Assert的try-catch会让测试通过?

时间:2016-12-17 09:53:06

标签: c# selenium-webdriver nunit

我刚刚开始使用WebDriver / C#/ NUnit,并想知道为什么以下代码导致传递而不是失败:

IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://google.com");

try
{
    Assert.AreEqual("Goooooogle", driver.Title);
    Console.Write("Passed");
}
catch (Exception e)
{
    Console.Write(e);    
}

AssertionException和Exception有什么区别?

2 个答案:

答案 0 :(得分:2)

测试只是通过,因为你捕获AssertException错误的Assert引发。

完全删除try-catch,因此它抛出的异常告诉测试运行器测试失败。

您通常不希望在单元测试中使用try-catch。

答案 1 :(得分:0)

大多数(.net)单元测试框架假设测试成功,如果:

  • 没有任何断言失败
  • 如果没有抛出异常。