O Minitest não fornece (ainda) uma maneira de verificar a mensagem de exceção real. Mas você pode adicionar um método auxiliar que faça isso e estenda a ActiveSupport::TestCase
classe para usar em qualquer lugar em sua suíte de teste do Rails, por exemplo: emtest_helper.rb
class ActiveSupport::TestCase
def assert_raises_with_message(exception, msg, &block)
block.call
rescue exception => e
assert_match msg, e.message
else
raise "Expected to raise #{exception} w/ message #{msg}, none raised"
end
end
e use-o em seus testes como:
assert_raises_with_message RuntimeError, 'Foo' do
code_that_raises_RuntimeError_with_Foo_message
end