2016-03-19 34 views
0

我一直在通過Michael Hartl的Ruby on Rails教程。我在代碼清單8.10中,爲新創建的登錄運行集成測試。當我運行測試,我得到1錯誤,其中讀取:在rails應用程序中找不到拼寫錯誤的文件名

UsersLoginTest#test_login_with_invalid_information: 
ActionController::RoutingError: uninitialized constant SessonsController 
test/integration/users_login_test.rb:8:in `block in class:UsersLoginTest>' 

1 runs, 1 assertions, 0 failures, 1 errors, 0 skips 

有什麼我失蹤了嗎?我認爲這顯然是拼寫錯誤的文件「SessonsController」而不是「會話控制器」,但我無法找到拼寫錯誤的文件。我也在文件「test/integration/users_login_test.rb」中檢查了ln8,但沒有發現錯誤。

如果有人能幫助我解決這個問題,我會非常感激。

這裏是對GitHub庫的鏈接:sample_app branch login-logout

這裏是一個教程頁面的鏈接:Rails Tutorial

+0

您的錯誤消息未完成。應該有更多。 – sawa

+0

$捆綁高管耙測試測試=測試/集成/ users_login_test.rb 運行選項:--seed 43995 運行#: ê 完成了1.265267s,0.7903運行/ S,0.7903斷言/秒。 1)錯誤: UsersLoginTest#test_login_with_invalid_information: 的ActionController :: RoutingError:未初始化的常數SessonsController 測試/集成/ users_login_test.rb:8:'在<類:UsersLoginTest>塊」 1運行時,1個斷言,0失敗,1錯誤,0跳過 –

+0

你顯示的不是這個的一部分。 – sawa

回答

0

test/integration/users_login_test.rb:8,你需要什麼你的控制器實際上是一個名爲更換SessonsController(見打字錯誤?)

通常,您需要確保您的文件與它們包含的類/模塊命名相同。

例如,如果我有一個SessionController類,但它保存在foobar_controller.rb文件中,它將不會被加載。名字必須完全匹配。即使一個額外的s可以拋棄它。 SessionControllerSessionsController不一樣。

無論如何,學習調試是通過Hartl的教程將教你的重要技能。你會很快掌握它的。

相關問題