2016-09-12 6 views
0

Ich versuche, meine Rails-Projekt mit Rspec zu testen und habe einige Schwierigkeiten, ich versuche, eine Anfrage-Spezifikation zu schreiben, die ein Produkt aktualisiert und es scheint einfach nicht zu funktionieren:Spec spec error bei der Aktualisierung

hier ist mein Test:

it 'updates a product' do 
    put :update, id: @product, product: FactoryGirl.attributes_for(:product, title: "New Title") 
    @product.reload 
    @product.title.should eq("New Title") 
    end 

und hier ist der Fehler erhalte ich:

Failure/Error: put :update, id: @product, product: FactoryGirl.attributes_for(:product, title: "New Title") 

    URI::InvalidURIError: 
     bad URI(is not URI?): http://www.example.com:80update 

Jede Hilfe, wie dies zu beheben wäre sehr dankbar.

+0

Schauen Sie sich Ihre URL an. Dieser Fehler hat nichts mit dem Hochladen von Dateien zu tun, Ihr Code erreicht den Upload-Schritt nicht. –

+0

Funktioniert es, wenn Sie "put '/ update'" verwenden? http://www.example.com:80update fehlt der Schrägstrich, welche rspec-Version verwenden Sie? Ist es eine Controller-Spezifikation? – arieljuod

Antwort

0

Haben Sie eingerichtet? Es wird nicht in Ihrem Code angezeigt. Wenn nicht, dann könnte das Problem sein, dass der ID-Parameter in Ihrer PUT-Anfrage gleich Null ist. Wenn @product bereits eingerichtet ist, haben Sie versucht, id: @product.id anstelle von id: @product zu verwenden?