2017-04-03 41 views
0

我做了一個lynda.com教程,使用rails創建了一個simlple cms。我想通過添加單元測試來練習和擴展我對rails的瞭解。但每次我嘗試運行任何測試時,都會收到mysql錯誤。其中一個例子就是試圖獲取公共控制器上的索引。Mysql2 ::錯誤:單元測試期間的表

#public_controller_test.br 
test "should get index" do 
    get public_index_url 
    assert_response :success 
end 

它給了我下面的錯誤

PublicControllerTest#test_should_get_index: 
ActiveRecord::StatementInvalid: Mysql2::Error: Table 'simple_cms_test.users' doesn't exist: DELETE FROM `users` 

如果你需要看更多的是可用的代碼在 https://github.com/trmccormick/rails_simple_cms感謝您的任何援助。

+1

你的測試數據庫不存在,運行rake db:test:prepare –

回答

0

我自己想出了這個問題。問題出在我有一個文件users.yml的燈具中,它應該是admin_users.yml,所以用戶表永遠不會被虛假用戶加載,所以它失敗了。重命名文件糾正了問題。

0

錯誤表示您的simple_cms_test數據庫中沒有表users

所以你需要同步你的測試數據庫與開發數據庫。

運行rake db:migrate testrake db:schema:load test和一切應該正常工作。