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