Lorsque j'ai validé un message personnalisé à l'aide de shoulda-matchers, je ne savais pas comment l'écrire, donc je suis un peu coincé, donc je vais le partager ici.
Les shoulda-matchers sont des gemmes qui facilitent l'exécution de longs tests lorsqu'ils sont écrits dans RSpec standard.
Par exemple, supposons que vous ayez un modèle avec les validations suivantes.
user.rb
class User < ApplicationRecord
validates :nickname, presence: true, length: { maximum: 30 }
end
Ce test s'exécute sur une ligne comme suit:
spec/models/user_spec.rb
it { is_expected.to validate_length_of(:nickname).is_at_most(30) }
C'est assez pratique.
Par exemple, supposons que vous configuriez une validation avec votre propre message d'erreur:
user.rb
validates :email, presence: { message: 'N'est pas inclu' }
Si vous souhaitez vérifier si votre propre message d'erreur s'affiche en même temps que la validation
spec/models/user_spec.rb
it { should validate_presence_of(:email). with_message('N'est pas inclu') }
En écrivant comme ceci, vous pouvez vérifier votre propre message d'erreur et votre validation en même temps.
Il existe de nombreuses autres façons de l'utiliser, donc si vous êtes intéressé, veuillez lire ceci. La méthode d'introduction est également écrite. Shoulda-Matchers READ ME
Je sort ce que j'ai appris tous les jours! Si vous avez des suggestions, je vous serais reconnaissant de bien vouloir commenter!
Recommended Posts