Могу ли я утверждать внутри блока начала спасения?

У меня есть кое-что, что я тестирую, и я буду знать, что оно работает, если оно не работает. Есть ли лучший способ закодировать это в рубине с помощью тестового модуля, чем тот, что у меня есть в моем примере ниже?

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, но это может быть что-то другое.


person Zach    schedule 12.04.2013    source источник


Ответы (1)


Вы можете использовать assert_raise, чтобы проверить, выдаются ли определенные исключения.

person Logan Serman    schedule 12.04.2013
comment
Есть ли способ поймать возникшую ошибку и что-то с ней сделать? - person Zach; 13.04.2013