Ruby on Rails Lernprogramm 7.2.2: rspec Fehler: Aktion 'create' konnte für UsersController nicht gefunden werden

8

Der rspec-Test schlägt fehl, wenn Sie versuchen, auf "Create my account" zu klicken und sagen: "Die Aktion 'create' wurde für UsersController nicht gefunden.

Ich gehe davon aus, dass dies ein RESTful-Problem ist, bei dem es sich um POST anstelle von GET (oder etwas ähnlichem) handelt. Warum, oh, wieso sonst würde es versuchen, "create" anstatt "new" zu nennen? Im nächsten Abschnitt - 7.3 - ist eine "create" -Aktion definiert, aber das Tutorial sagt, dass Tests am Ende von 7.2.2 stattfinden sollten.

Auf der anderen Seite könnte ich einfach etwas verpassen. Deshalb schreibe ich nicht an Admin auf der Tutorial-Seite.

Ich poste meinen Code, aber ich habe bestätigt, dass er den Beispielen des Tutorials entspricht: Ссылка

    
ari gold 28.03.2012, 22:49
quelle

3 Antworten

5

Nein, du verpasst nichts. Es scheint, dass Sie einen leichten doco Fehler fangen.

Tatsächlich sagt Hartl zu Beginn von 7.3.1: "Unser erster Schritt besteht darin, den Fehler zu eliminieren, der derzeit beim Absenden des Anmeldeformulars auftritt, wie Sie in Ihrem Browser oder * durch Ausführen des Tests bestätigen können für die Anmeldung mit ungültigen Informationen * "(meine Betonung).

Trotzdem möchte ich, dass er das auch aufhebt, es scheint nur ein bisschen mehr zu geben. Ich habe auch zufällig keine Regex-Fehler für schlecht geformte E-Mail-Adressen.

    
dixon1e 06.04.2012, 19:14
quelle
10

Ich weiß, das ist alt, aber ich habe gerade das gleiche Problem und ich werde dies veröffentlichen, falls jemand neues braucht.

Was mich verwirrte, war der Satz in 7.2.2: "Wenn die Variable @user so definiert ist, sollte der Test für die Anmeldeseite erneut durchgeführt werden." Aber meine Tests versagten, obwohl mein Code genau dem Beispiel entsprach.

Das Problem war, nicht alle Tests sollten bestanden werden - Hartl spricht nur über die "Anmeldeseite" -Tests. An dieser Stelle sollten einige Tests unter "Anmeldung" fehlschlagen.

Wenn Sie den Befehl Hartl ausführen, sollten Sie sehen, dass die richtigen Tests bestehen:

%Vor%

Ich war gerade faul und habe nur bundle exec rspec spec/ eingegeben, was auch die fehlgeschlagenen Tests ausgeführt hat.

    
GMA 09.11.2012 11:45
quelle
3

Teil der Verwirrung für mich war, dass, als Michael die neuen "Anmelde" -Tests beschrieb, ich dachte, er hätte die zuvor erstellten "Anmeldeseiten" -Tests umbenannt / verallgemeinert. Im Nachhinein hätte ich diese Annahme nicht machen dürfen und erkannt, dass er die Tests der "Anmeldeseite" getrennt von den "Sign-up" -Tests beibehalten hat. Mein Fehler wurde durch die Tatsache verstärkt, dass ich seinen früheren Vorschlag angenommen hatte und Wächter / Spork ausgeführt hatte, also führte ich im Allgemeinen die Tests nicht von der Befehlszeile aus und vermisste somit die spezifische Testreferenz, die er enthalten hatte.

>     
Peter Alfvin 18.01.2013 00:04
quelle

Tags und Links