【问题标题】:Can I assert inside a begin rescue end block?我可以在开始救援结束块内断言吗?
【发布时间】:2013-04-12 23:01:43
【问题描述】:

我有一些我正在测试的东西,如果它失败了,我会知道它的工作原理。有没有比我在下面的示例中更好的方法来使用测试单元在 ruby​​ 中进行编码?

begin 
  x = Method.shouldFail
  assert_true(false)
rescue Test::Unit::AssertionFailedError
  assert_true(false) #stop test, this is a failure
rescue => e
  assert_equal(400, e.code)
end

这看起来很笨拙,有没有更好的方法来写这个?我希望 Method.shouldFail 总是会失败,但它可能不会。我会假设在最后一个救援块中,e.code 应该总是 400,但它可能是别的东西。

【问题讨论】:

    标签: ruby unit-testing rescue


    【解决方案1】:

    您可以使用assert_raise 来测试是否抛出了特定的异常。

    【讨论】:

    • 有没有办法捕获引发的错误并对其进行处理?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 2015-08-10
    • 1970-01-01
    相关资源
    最近更新 更多