【发布时间】:2015-09-25 21:32:02
【问题描述】:
我一直在尝试在 Rails 4.2.4 上设置我的第一个测试,但通常我在 DB 中使用单数表名,因此我将这一行添加到 config/application.rb
config.active_record.pluralize_table_names = false
由于我一直在研究 Car 和 User 模型,假设我已经生成了每个脚手架,并且已经执行了 rake db:test:prepare,所以问题从以下测试开始:
在 test/models/car_test.rb 或 user_test.rb 中,首先我取消注释存根测试“真相”并使用 rake test:models
运行带有以下错误的 vanilla# 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
当我运行 rake test:controllers 时,同样的 ActiveRecord 错误多次出现,我目前无法以任何方式修复此行为。
其他人遇到过这个问题?快把我逼疯了……
PS:所有开发都做得很好,没有任何单一表名的问题,唯一的麻烦在于测试。
【问题讨论】:
标签: ruby-on-rails testing activerecord minitest