Rails RSpec: Controller Testen, prüfen, ob Fehler Array des Modells mit Einträgen gefüllt ist, wenn aufgrund eines Validierungsfehlers kein neuer Datensatz erstellt werden kann

7

Ich habe noch eine ziemlich einfache Rails-Anwendung, die ich mit BDD mit Cucumber und TDD mit RSpec entwickeln möchte. Derzeit hänge ich an einem Test, bei dem ich überprüfen möchte, ob eine neue Instanz eines Organizers (das ist das Modell, das ich habe) aufgrund eines Validierungsfehlers nicht erstellt werden kann. Ich möchte überprüfen, dass der Fehler Array des zu erstellenden Objekts nicht leer ist, damit ich sicher sein kann, dass Fehlermeldungen zur Verfügung stehen, um sie in der Ansicht anzuzeigen.

require 'spec_helper'

beschreiben OrganizersController     render_views

%Vor%

Ende

Ich entwickle basierend auf Rails 3.2.9 mit RSpec 2 und Gurkenschienen.

Irgendwelche Vorschläge werden geschätzt. Danke!

    
Patrick Frey 28.12.2012, 09:33
quelle

3 Antworten

14

Sie sollten die Methode assignes verwenden, um die Instanzvariable von der Controller-Aktion abzurufen:

%Vor%     
VadimAlekseev 28.12.2012, 09:41
quelle
11

Die neueste bevorzugte Syntax lautet:

%Vor%     
George Shaw 02.07.2013 05:00
quelle
1

danke für die Antwort Jungs, aber ich möchte eine etwas schönere Syntax vorschlagen: expect(assigns(:organizer).errors).to_not be_empty

(unabhängig von der Frage

Rudy Yazdi 08.10.2017 23:22
quelle

Tags und Links