[RUBY] Testen auf Fehlermeldungen: Rails Tutorial Notes-Kapitel 7

Rails Tutorial 6.0 Kapitel 7 7.3.4 Test zum Zeitpunkt des Ausfalls Aufzeichnung des Stolperns in der letzten Übung

Übungsinhalt

"Schreiben Sie einen Test für die in Listing 7.20 implementierte Fehlermeldung. Ich überlasse es Ihnen, sie im Detail zu testen. Ich habe eine Vorlage für Listing 7.25 als Referenz bereitgestellt."

Antworten

Verwenden Sie assert_select Es ist eine gute Idee, die HTML-Struktur auf falsche login-spezifische Elemente zu überprüfen.

Inhalt des unmittelbar zuvor erstellten Teils (Dieser Inhalt wird in new.html.erb eingefügt.)

ruby:/sample_app/app/views/shared/_error_messages.html.erb


<% if @user.errors.any? %>
  <div id="error_explanation">
    <div class="alert alert-danger">
      The form contains <%= pluralize(@user.errors.count, "error") %>.
    </div>
    <ul>
    <% @user.errors.full_messages.each do |msg| %>
      <li><%= msg %></li>
    <% end %>
    </ul>
  </div>
<% end %>

Wenn @ user.errors vorhanden ist, Ein div-Tag mit einer bestimmten Klasse ("alert" & "alert-risk"), id ("error_explanation") wird erweitert

Solange dies im endgültigen HTML-Code enthalten ist, der an den Browser übergeben wird, assert_select'Selector (Klasse: div.class, id: div # id) ' Bestätigen Sie es mit

Das ausgefüllte Formular lautet wie folgt

/sample_app/test/integration/users_signup_test.rb


require 'test_helper'

class UsersSignupTest < ActionDispatch::IntegrationTest

  test "invalid signup information" do
    assert_no_difference 'User.count' do
      post users_path, params: { user: { name: "",
                                         email: "user@invalid",
                                         password: "foo",
                                         password_confirmation: "bar"} }
    end
    assert_template 'users/new'
    assert_select 'div.alert'
    assert_select 'div.alert-danger'
    assert_select 'div#error_explanation'
  end

end

Die durch assert_select verifizierte Struktur, Wird in den Google Chrome-Entwicklertools visuell angezeigt スクリーンショット 2020-06-04 17.50.58.png

das ist alles

Was ich nicht verstehe (zum Selbstlernen)

Verwenden Sie "" und "" richtig Ich bin der Meinung, dass "" bevorzugt wird, wenn explizit angegeben wird, dass es sich um eine Zeichenfolge handelt. Der Selektor wird als '' 'angegeben.

Recommended Posts

Testen auf Fehlermeldungen: Rails Tutorial Notes-Kapitel 7
11.1 AccountActivations-Ressource: Rails Tutorial Memorandum-Kapitel 11
[Rails] Problemumgehung für Klassen, die automatisch mit Fehlermeldungen generiert werden
[Rails] Japanische Lokalisierung von Fehlermeldungen
Schienen Tutorial
Schienen Tutry
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
Schienen Tutry
Schienen Tutorial
Schienen Tutorial
[Rails] So zeigen Sie Fehlermeldungen einzeln an
[Ruby / Rails] Mechanismus zum erneuten Versuch eines Thread-Fehlers
11.2 E-Mail zur Kontoaktivierung senden: Rails Tutorial Notes - Kapitel 11
Der Weg zur Japanisierung von Rails führt zu Fehlermeldungen
Schienen-Tutorial Kapitel 6
Rails Tutorial Test
Schienen-Tutorial Kapitel 1
Rails Tutorial Memorandum 1
Rails Tutorial Memorandum 2
Schienen-Tutorial Kapitel 7
Schienen-Tutorial Kapitel 5
Schienen-Tutorial Kapitel 10
Schienen-Tutorial Kapitel 9
Schienen-Tutorial Kapitel 8
[Rails] So geben Sie Erfolgs- und Fehlermeldungen aus
[Anfänger] Rails Tutorial
[Ruby on Rails] Individuelle Anzeige von Fehlermeldungen
Ich habe die Ausführung des Rails-Tutorials geändert: Hinweise zum Rails-Tutorial - Kapitel 9
Schienen nicht initialisierte Konstante Eine einfache Checkliste zur Fehlerbehebung
Japanische Lokalisierung von Rails-Fehlermeldungen [Objekte entwerfen / bilden usw.]
Was soll ich für das Test-Framework verwenden [Rails]
[Hinweis] Rails-Fehlerliste
Informationen zu Ruby-Fehlermeldungen
Catch Rails Routing-Fehler
Rails Tutorial Kapitel 3 Lernen
Mac Rails Installationsfehler
[Rails] Lernen mit Rails Tutorial
Rails Tutorial Memorandum (Kapitel 3, 3.1)
Rails Tutorial Kapitel 4 Lernen
Rails Tutorial Kapitel 1 Lernen
Rails Tutorial Kapitel 2 Lernen
Schienen Tutorial Fighting Record III
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 1
SassC :: SyntaxError in Pages # index Abhilfe während des Rails5 Intermediate Tutorial