[RUBY] [Rails5] Rspec -validierung-

Einführung

Dieses Mal werde ich Rspec für die Validierung des Modells schreiben

** ・ Es ist gültig, wenn Sie Name, E-Mail, Passwort haben ** ** ・ Es ist ungültig, wenn kein Name, keine E-Mail-Adresse und kein Passwort vorhanden sind **

Ich möchte die beiden oben genannten Punkte testen.

1. Testziel

validates :name,
       presence: true,   
validates :email,
       presence: true,   
validates  :password,
       presence: true,

Das Testziel ist die Validierung zum Zeitpunkt der Benutzerregistrierung. Dieses Mal möchte ich nur die Gültigkeit der Validierung überprüfen, daher verwende ich einfachen Code wie oben.

2. Implementierung

require 'rails_helper'

Rspec.decribe User, type: model do
  describe '#validates' do
    context 'Wenn der Name, die Mail und das Passwort korrekt sind' do
      it 'Gültig sein'  do
        @user = User.new ({
          name: "Testen Sie Taro",
          email: "[email protected]",
          password: "111111",
        })
        expect(@user).to be_valid
      end   
    end

    context 'Wenn der Name, die E-Mail-Adresse und das Passwort falsch sind' do
      it 'Zur Überprüfung' do
        @user = User.new ({
          name: "",
          email: "",
          password: "",
        })
        expect(@user.valid?).to be_falsy
      end
    end
  end
end

Weisen Sie den Instanzvariablen die richtigen und falschen Objekte zu.

Ich benutze ** be_valid ** (Predicut Matcher), um zu testen, ob validationg gültig ist, und ** be_falsy **, um sicherzustellen, dass false zurückgegeben wird, wenn es nicht gültig ist. ..

*** Ich möchte sehen, dass die wellenförmigen Klammern unmittelbar nach der neuen Methode beim Erstellen eines Objekts dem Wert und die Klammern jedem Schlüssel zugeordnet werden müssen. Ich persönlich habe ein bisschen fit. ** ** **

3. Testergebnis

2 examples, 0 failures

** Du hast bestanden. ** ** **

Ich fand, dass die zu validierende Rspec leicht zu verstehen war, weil sie einfach beschrieben werden konnte.

Schließlich

Dieses Mal habe ich alles zusammen implementiert, aber ich denke, dass es notwendig ist, den Test für jede Spalte auszuführen.

Als ich den Code drückte, dachte ich, dass ich jede Klammer ** () {} [] ** mit einem Sinn benutzte, also hatte ich das Gefühl, dass ich sie wieder verstehen musste. Ich würde gerne wieder einen Artikel schreiben.

ps→ Es scheint, dass japanische Aalbrut aus Australien auf der Meeresströmung kommen.

Recommended Posts

[Rails5] Rspec -validierung-
Rspec Basics [Rails]
[Rails] Passen Sie die Validierung des Geräts an
[Schienen] Test mit RSpec
Schienen, RSpec-Installationsverfahren
[Rails] Der längste japanische Nachname (Validierung)
[RSpec] Verwenden wir FactoryBot [Rails]
[Rails] Verwendung der Validierung
[Rails] Informationen zum Rspec-Antworttest
[Rails] Unerwarteter Validierungsfehler im Gerät
Rails Buchbesprechung App RSpec Einführung
[Rails] Validierungseinstellungen und japanische Lokalisierung
[Rails5] Rspec -Einheitentest beim Verschachteln-
[Schienen] Machen wir einen Unit-Test mit Rspec!
[Schienen g. Fehler]
Rails Grundlagen
Rails API
Schienenmigration
[Rails] first_or_initialize
[Ruby on Rails] Test mit RSpec anzeigen
Einführung von RSpec
Schienen Tutry
RSpec-Testing 'Benutzervalidierung'
Über Schienen 6
Schienenfundament
Rails Memorandum
[Schienen] Verwenden Sie die Validierung für einen bestimmten Controller
Schienen Tutry
RSpec-Installation
Deshalb habe ich dieses Mal die Methode "Verknüpfen des Inhalts des Verzeichnisses" übernommen. Ich denke, es wird je nach Zeit und Fall richtig verwendet. Tutorial zu Linux, ln, Linux-Befehlsschienen
[Ruby on Rails] Controller-Test mit RSpec
RSpec Setup
Rspec, TDD (1)
[Schienen] erfinden
Schienen Tutry
Schienen Tutorial
[Rails] Implementierung einer Validierung, die die Eindeutigkeit beibehält
Schienen Tipps
Schienenmethode
Schienen Tutorial
Rails-Validierung und null: false Persönliche Notizen
Rails Review 2
Validierungseinstellungen für die Ruby on Rails-Anmeldefunktion
[Ruby on Rails] Bis zur Einführung von RSpec
Einführung in Rspec mit Ruby on Rails x Docker
Einführung in Rspec, ein Testframework für Ruby on Rails
[Validierung] Schienen Wie nach dem heutigen Datum angeben
Rails-Anfänger haben versucht, mit RSpec zu beginnen