2016-08-16 7 views
1

Nach einem Tutorial Schienen, aber wenn in einer kleinen Tangente aus und kann jetzt nicht einen Test zu bestehen. Unten finden Sie meine routes-Datei und meine Testdatei. Der home Test ist fehlgeschlagen und diese Zeile , to: "static_pages#home", as: "home" ist die Zeile, die es erscheinen lässt. d. h. entfernen Sie dies und es wird passieren. Ich habe mich gefragt, warum jemand erklären könnte, warum das scheitert und wie man den Test ändert, damit er durchgeht, aber diese Linie hält?Getting a rails test to

Meine Routen-Datei:

Rails.application.routes.draw do 

    resources :static_pages 
    get 'static_pages/help' 
    get 'static_pages/test' 
    get 'static_pages/home', to: "static_pages#home", as: "home" 
    root 'application#hello' 

end 

Meine Testdatei:

require 'test_helper' 

class StaticPagesControllerTest < ActionDispatch::IntegrationTest 
    test "should get home" do 
    get static_pages_home_url 
    assert_response :success 
    end 

    test "should get help" do 
    get static_pages_help_url 
    assert_response :success 
    end 

    test "should get test" do 
    get static_pages_test_url 
    assert_response :success 
    end 


end 

Antwort

2

static_pages_home_url ist die Standard-Hilfsmethode für diese Route mit Controller static_pages und Aktion home aber Sie setzen den Namen als home so Ihre Test sollte

sein
test "should get home" do 
    get home_url 
    assert_response :success 
end 
+0

ah erstaunlich! Also, wo ich das Schlüsselwort 'as 'habe, ändere ich es einfach so. Prost! Antwort wird in 5 Minuten akzeptiert –

+0

Gern geschehen :) – Ursus