[RUBY] [Rails] So definieren Sie Makros in Rspec und standardisieren die Verarbeitung

Ziel

Machen Sie den Anmeldevorgang allgemein.

Entwicklungsumgebung

・ Ruby: 2.5.7 Schienen: 5.2.4 ・ Rspec-Schienen: 4.0.1 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ Betriebssystem: macOS Catalina

Implementierung

1. Erstellen Sie ein Support-Verzeichnis

$ mkdir support

2. Erstellen und bearbeiten Sie eine Datei im Verzeichnis "support"

$ touch spec/support/login_macros.rb

login_macros.rb


module LoginMacros
  def login(user)
    fill_in 'Mail Adresse', with: user.email
    fill_in 'Passwort', with: user.password
    click_button 'Einloggen'
  end
end

3. Bearbeiten Sie rails_helper.rb

rails_helper.rb


#Kommentar aus Zeile 23
Dir[Rails.root.join('spec', 'support', '**', '*.rb')].sort.each { |f| require f }

RSpec.configure do |config|
  config.include LoginMacros #Nachtrag
end

[Erläuterung]

① Lesen Sie das Support-Verzeichnis.

Dir[Rails.root.join('spec', 'support', '**', '*.rb')].sort.each { |f| require f }

(2) Stellen Sie das in "2" definierte Modul zur Verfügung.

config.include LoginMacros

4. Verwenden Sie die Methode

require 'rails_helper'

RSpec.describe 'Zertifizierungstest', type: :feature do
  let(:user) { create(:user) }
  subject { page }

  describe 'Benutzerauthentifizierungstest' do
    context 'Benutzeranmeldetest' do
      it 'Anmelden können' do
        visit new_user_session_path
        login(user) #Verwenden Sie die Methode
        is_expected.to have_content 'Ausloggen'
      end
    end
  end
end

Recommended Posts

[Rails] So definieren Sie Makros in Rspec und standardisieren die Verarbeitung
So installieren Sie jQuery in Rails 6
So installieren Sie Swiper in Rails
[Webpacker] Zusammenfassung der Installation von Bootstrap und jQuery in Rails 6.0
So löschen Sie große Datenmengen in Rails und Bedenken
So implementieren Sie Suchfunktionen in Rails
So ändern Sie den App-Namen in Rails
So fügen Sie ein Video in Rails ein
So standardisieren Sie die Kopfzeile in Thymeleaf
Verwendung von MySQL im Rails-Tutorial
[Rails] So konfigurieren Sie das Routing in Ressourcen
So implementieren Sie Ranking-Funktionen in Rails
So implementieren Sie die asynchrone Verarbeitung in Outsystems
Verwendung von credentials.yml.enc aus Rails 5.2
So debuggen Sie die Verarbeitung im Ruby on Rails-Modell nur mit der Konsole
[Rails] Verwendung von Auswahlfeldern in Ransack
Wie man Rails allgemein ins Japanische übersetzt
So trennen Sie .scss nach Controller in Rails
So fügen Sie die html.erb-Klasse in Rails bedingt hinzu
So implementieren Sie eine ähnliche Funktion in Rails
So erstellen Sie einfach ein Pulldown mit Rails
Verwendung der Scope- und Pass-Verarbeitung (Servist)
Verwendung von JQuery in Rails 6 js.erb
So erstellen Sie eine API mit GraphQL und Rails
[Rails] So geben Sie Erfolgs- und Fehlermeldungen aus
So definieren Sie mehrere orm.xml in Spring4, JPA2.1
[Rails] Verwendung von PostgreSQL in einer Vagrant-Umgebung
So überprüfen Sie Rails-Befehle im Terminal
Wie schreibe ich Rails
So deinstallieren Sie Rails
So machen Sie ein Bild mit Processing teilweise transparent
So implementieren Sie die Gastanmeldung in 5 Minuten im Rails-Portfolio
So implementieren Sie eine nette Funktion in Ajax mit Rails
[Ruby on Rails] Wie schreibe ich eine Enumeration auf Japanisch?
Ändern Sie Datum und Uhrzeit in Rails in japanische Notation
[Ruby On Rails] So setzen Sie die Datenbank in Heroku zurück
[So fügen Sie ein Video mit Rails in haml ein]
So schreiben Sie eine Datumsvergleichssuche in Rails
Ich möchte eine Funktion in der Rails Console definieren
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
Umgang mit TSV-Dateien und CSV-Dateien in Ruby
Abfragen von Arrays in jsonb mit Rails + postgres
[Rails 6] So legen Sie ein Hintergrundbild in Rails [CSS] fest
[Rails] Bearbeiten und Anpassen von Geräteansichten und Controllern
[Rails] So laden Sie JavaScript in einer bestimmten Ansicht
(Ruby on Rails6) So erstellen Sie ein Modell und eine Tabelle
So starten Sie die Swagger-Benutzeroberfläche und den Swagger-Editor in Docker
[Schienen] So zeigen Sie Bilder in der Ansicht an
[Java] So erhalten Sie den Schlüssel und den Wert, die in Map gespeichert sind, durch iterative Verarbeitung
So implementieren Sie ein kreisförmiges Profilbild mit CarrierWave und R Magick in Rails
[Schienen] Wie poste ich Bilder?