2 Stimmen

capybara / rspec - irgendetwas ist nicht vorhanden... aber was ist es?

  it "should submit form", :driver => :webkit do
    visit '/things/new'
    page.should have_content('Login')
    fill_in 'user_login', with: @thing.email
    fill_in 'user_comment', with: @thing.comment
    click_button 'log_in'
    save_and_open_page
    page.should have_content('Thanks!')  
  end

Antwort im Browser [interner Serverfehler]:

Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id

Ich vermute, dass etwas in der things_controller oder things/_form unerwartet Null ist, aber ich kann nicht scheinen, um festzunageln, was es ist. Die Seite funktioniert gut in der Entwicklung (mit befüllter Datenbank)

Gibt es eine Möglichkeit, ein aussagekräftigeres Feedback zu erhalten?

oder bin ich auf dem falschen Weg?

3voto

phoet Punkte 18502

Sie können verschiedene Dinge tun.

  • Schauen Sie in Ihr logs/test.log
  • Deaktivieren Sie den weinerlichen Nils und schauen Sie, ob ein echter Stack-Trace auftaucht
  • eine Introspektion wie einen Debugger oder Pry verwenden

oder die Hammer-Methode:

  • fügen Sie eine ganze Reihe von puts/Rails.logger.debug-Anweisungen in Ihren Code ein

0voto

Fatlad Punkte 324

Vergewissern Sie sich, dass Ihre Erstellungsfunktion die ID des createdf-Objekts nicht manuell festlegt und dass die Felder aller Beziehungen zu diesem Objekt ordnungsgemäß ausgefüllt sind.

D.h. schreiben Sie Tests, die diese überprüfen.

Verwenden Sie verschiedene Datenbanktypen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X