[RUBY] [RSpec] Lorsque j'ai testé le fichier de vue qui utilisait la méthode d'assistance, j'ai obtenu ActionView :: Template :: Error:. ..

J'ai implémenté une fonction de notification dans une application développée personnellement, puis je l'ai poussée sur Git et j'ai vérifié les résultats des tests de CircleCI, mais soudainement, de nombreux tests ont échoué et j'étais un peu troublé, je vais donc partager la solution ici.

contenu de l'erreur

Failure/Error: -if unchecked_notifications.any?

ActionView::Template::Error:
  undefined local variable or method `unchecked_notifications' for #<#<Class:0x0000555732134140>:0x00005557326f7f78>

J'ai défini une méthode d'assistance appelée décochés_notifications``` pour changer la vue affichée lorsque les notifications arrivent et lorsque les notifications ne viennent pas. Cependant, il semble que cette méthode d'assistance n'a pas été chargée lorsque RSpec a été exécuté et que le test a échoué avec une erreur.

notifications_helper.rb



module NotificationsHelper
  def unchecked_notifications
    @notifications = current_user.passive_notifications.where(checked: false)
  end
end

Solution

La solution est simple. Incluez le module dans le fichier où vous souhaitez exécuter le test et cela devrait fonctionner. ↓ Exemple

post_spec.rb



require 'rails_helper'
#Inclure la méthode d'assistance
include NotificationsHelper

RSpec.describe 'Fonction de publication', type: :system do
  #Processus de test
end

Merci d'avoir lu jusqu'au bout!

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

[RSpec] Lorsque j'ai testé le fichier de vue qui utilisait la méthode d'assistance, j'ai obtenu ActionView :: Template :: Error:. ..
Dans WSL2, quand j'ai fait `docker-compose up`, j'ai eu une erreur disant que le fichier sh n'a pas été trouvé.
[Rails] "Pry-rails" qui peuvent être utilisés lors de l'enregistrement avec la méthode create
[RSpec] Ce que je suis resté bloqué lorsque j'ai écrit le test du mailer (processus de réinitialisation du mot de passe)
[Rails] Solution lorsque l'erreur "visite de la méthode non définie" "apparaît lors de l'utilisation de Capybara avec Rspec