2015-09-25 117 views
0

我一直在試圖在Rails 4.2.4上設置我的第一個測試,但通常我在數據庫中使用了singularized表名,因此我將此行添加到config /application.rbMinitest不尊重將config.active_record.pluralize_table_names設置爲false

config.active_record.pluralize_table_names = false 

因爲我是在汽車和用戶模型的工作,讓我們假設我已經生成的每個支架,並已執行耙分貝:測試:準備所以這個問題開頭測試如下:

在test/models/car_test.rb或us中er_test.rb,首先我取消存根測試「真相」,並運行香草與下面的錯誤與耙測試:機型

# Running: 

EE 

Finished in 0.019095s, 104.7396 runs/s, 0.0000 assertions/s. 

    1) Error: 
UserTest#test_the_truth: 
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: users: DELETE FROM "users" 



    2) Error: 
CarTest#test_necessary_car_data: 
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: users: DELETE FROM "users" 


2 runs, 0 assertions, 0 failures, 2 errors, 0 skips 

當我運行耙測試:控制器相同的ActiveRecord的錯誤顯示了多個次,並且我無法以任何方式修復此行爲。

有人遇到過這個問題嗎?這讓我瘋狂......

PS:所有的開發都做得很好,沒有任何單一表名的問題,唯一的麻煩在於測試。

回答

0

經過多次修補之後,我發現Minitest使用每個燈具文件名將其轉換爲數據庫中表格的名稱。所以,當我產生的支架,它創造測試/夾具/ users.yml裏

所以我只是改變了文件名user.yml和測試又開始工作(我需要改變所有夾具的文件名)。

最後,它的工作,但它感覺很尷尬手動改變這些名稱,當發電機應該這樣做......是否有人知道去哪裏指出這個問題與發電機?在官方回購中註冊Github問題是否可以?

相關問題