Ich habe einige Gerüste für meine Rails App generiert.Warum versagen meine Funktionstests?
Ich führe die generierten Tests und sie sind fehlgeschlagen.
zum Beispiel
test "should create area" do
assert_difference('Area.count') do
post :create, :area => { :name => 'area1' }
end
assert_redirected_to area_path(assigns(:area))
end
Dieser Test versagt sagen, dass:
1) Fehler: test_should_create_area (AreasControllerTest) [/test/functional/areas_controller_test.rb:16]: "Area.count" änderte sich nicht um 1. < 3> erwartet, aber war < 2>.
Es gibt nur ein Feld im Modell: name. Ich bevölkere das, deshalb kann es nicht sein, weil ich das einzige Feld nicht bevölkere.
Ich kann die Website ausführen und einen Bereich mit dem Namen 'Area1' erstellen. Die Realität ist also erfolgreich, aber der Test versagt.
Ich kann nicht fragen, warum es scheitert, weil ich sicher bin, dass es nicht genügend Informationen hier für irgendjemanden hier gibt, warum zu wissen. Ich bin nur daran hängen zu wissen, welche Wege zu gehen, um herauszufinden, warum der Test versagt. Sogar Putts in den Code nicht drucken ...
Welche Schritte kann ich ergreifen, um dies zu verfolgen?
Die Ausgabe von test.log sollte hier hilfreich sein, damit Sie sehen können, ob tatsächlich ein Bereich erstellt wird oder ob ein SQL-Fehler vorliegt, der gerade gegessen wird. – jdl
Aaahh ... Ok, das hilft. Test.log zeigt mir, dass der Test fehlschlägt, weil ich nicht eingeloggt bin. Ich habe es so eingerichtet, dass nur authentifizierte Benutzer Bereiche erstellen können. Alles ist sinnvoll. Sie sollten das eine Antwort geben, damit ich es annehmen kann! Vielen Dank –