Minitest ne vous fournit pas (encore) un moyen de vérifier le message d'exception réel. Mais vous pourriez ajouter une méthode d'aide qui le fait et étendre la méthode ActiveSupport::TestCase
pour l'utiliser partout dans votre suite de test de rails, par ex : dans test_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
et l'utiliser dans vos tests comme :
assert_raises_with_message RuntimeError, 'Foo' do
code_that_raises_RuntimeError_with_Foo_message
end