我希望'rake test:units'在開發數據庫關閉期間成功地在準備好的測試數據庫上運行測試。目前,rails正在嘗試從開發數據庫構建測試數據庫。這可能嗎?通過Rake測試Rails:不要觸摸我的開發數據庫
我處於我的prod/dev數據庫不在主機上的情況,但爲了進行單元測試,我在內存數據庫中使用了sqlite。
編輯我的確切操作:注意我用Rails 2.3
我的測試數據庫中設置這樣的config/database.yml中:
test:
adapter: sqlite3
database: 'sqlite3_unittest_file.dat'
pool: 5
timeout: 5000
當我運行rake db:test:load
的測試數據庫(這只是一個文件)在rails-root目錄中正確生成。當我運行rake test:units
時,一切正常。現在
如果我編輯database.yml
設置我DEV數據庫用戶名出了問題(如「sdlkfj」),rake test:units
失敗立刻抱怨:
Access denied for user 'sdlkfj'@'myhostnsmae' (using password: YES)
當我運行此版本的「真正」 ,我在一個系統中運行它,在構建過程中不允許構建對話框。因此,這種嘗試與開發數據庫交談並立即呱呱叫的事情正在讓我失望,而且看起來不正確。
通常,您的測試應該在沒有正在運行的開發數據庫的情況下運行。你應該看一下http://guides.rubyonrails.org/testing.html 3.1節,並改變你的問題,以便你命名你所做的步驟。開始時似乎需要開發數據庫,並且您沒有它。 – mliebelt
編輯添加更多信息。 –