Je recherche un code propre et court pour tester les validations dans Rails Unittests.Syntaxe simple pour tester les erreurs de validation
Actuellement, je fais quelque chose comme ça
test "create thing without name" do
assert_raise ActiveRecord::RecordInvalid do
Thing.create! :param1 => "Something", :param2 => 123
end
end
Je crois qu'il ya une meilleure façon qui montre aussi le message de validation?
Solution:
Ma solution actuelle sans cadres supplémentaires est:
test "create thing without name" do
thing = Thing.new :param1 => "Something", :param2 => 123
assert thing.invalid?
assert thing.errors.on(:name).any?
end
Remerciements s pour les réponses. Je vais essayer rspec et les autres un peu de temps. Pour l'instant je m'aide avec assert (record.invalid?) Et assert_equal ([], record.errors.full_messages) – Roman