将特定错误转换为ruby Test :: Unit中的失败

时间:2013-09-17 20:48:50

标签: ruby unit-testing inheritance testunit

我想要一种方法来在Test :: Unit :: TestCase中的特定测试方法中生成错误,并将其转换为具有更友好的通用消息的失败。我一直认为这应该可以继承,但我不能完全理解它。

class CalenderTest001 < Test::Unit::TestCase
  def testZoneCal001
    Fixture.reset
    $driver = Selenium::WebDriver.for :firefox
    $driver.get "http://myTestSite.com/"
    $driver.find_element(:id, "IDthrowsAnError").click
  end
end

我想要的效果是将整个事物包裹在一个开始救援结束块中,救援块看起来像这样。

rescue Selenium::WebDriver::Error::NoSuchElementError => e
  #mark this test as a failure not an error

1 个答案:

答案 0 :(得分:0)

您可以使用assert_nothing_raised构造:

def testZoneCal001
  assert_nothing_raised "Something went wrong!" do
    Fixture.reset
    $driver = Selenium::WebDriver.for :firefox
    $driver.get "http://myTestSite.com/"
    $driver.find_element(:id, "IDthrowsAnError").click
  end
end