[RUBY] [RSpec] Als ich die Ansichtsdatei getestet habe, die die Hilfsmethode verwendet hat, habe ich ActionView :: Template :: Error: erhalten. ..

Ich habe eine Benachrichtigungsfunktion in eine persönlich entwickelte App implementiert, sie dann an Git gesendet und die Testergebnisse von CircleCI überprüft, aber plötzlich sind viele Tests fehlgeschlagen und ich war ein wenig besorgt, daher werde ich die Lösung hier teilen.

Fehlerinhalt

Failure/Error: -if unchecked_notifications.any?

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

Ich habe eine Hilfsmethode namens "Unchecked_notifications" definiert, um die Ansicht zu ändern, die angezeigt wird, wenn Benachrichtigungen eingehen und wenn Benachrichtigungen nicht eingehen. Es scheint jedoch, dass diese Hilfsmethode nicht geladen wurde, als RSpec ausgeführt wurde und der Test mit einem Fehler fehlschlug.

notifications_helper.rb



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

Lösung

Die Lösung ist einfach. Fügen Sie das Modul in die Datei ein, in der Sie den Test ausführen möchten, und es sollte funktionieren. ↓ Beispiel

post_spec.rb



require 'rails_helper'
#Helfer-Methode einschließen
include NotificationsHelper

RSpec.describe 'Buchungsfunktion', type: :system do
  #Testprozess
end

Vielen Dank für das Lesen bis zum Ende!

Ich gebe aus, was ich jeden Tag gelernt habe! Wenn Sie Vorschläge haben, würde ich mich freuen, wenn Sie einen Kommentar abgeben könnten!

Recommended Posts

[RSpec] Als ich die Ansichtsdatei getestet habe, die die Hilfsmethode verwendet hat, habe ich ActionView :: Template :: Error: erhalten. ..
In WSL2, als ich "Docker-Compose Up" machte, bekam ich eine Fehlermeldung, dass die sh-Datei nicht gefunden wurde.
[Rails] "Pry-Rails", die beim Speichern mit der create-Methode verwendet werden können
[RSpec] Was ich feststeckte, als ich den Mailer-Test (Passwort-Reset-Prozess) schrieb
[Rails] Lösung, wenn bei Verwendung von Capybara mit Rspec der Fehler "undefined method` visit '" angezeigt wird