我几天前开始学习rails3,从今天起,每次我为我的模型运行单元测试时,都会收到以下错误消息:
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: users: DELETE FROM "users" WHERE 1=1
昨天的测试顺利进行,我今天运行它们(从他们工作的时间开始将所有内容恢复到状态)......而且我仍然收到错误。
我在Windows7 64位,SQLite 3.7.2,ruby 187上使用rails 3发行版(但我确实有许多ruby安装 - 使用pik选择187)
有关解决此问题的任何想法吗?
答案 0 :(得分:14)
如果您使用rails生成器创建了模型,则可能遗留了试图访问不再存在的表的fixture文件。对我来说,删除yml文件解决了这个问题。
答案 1 :(得分:11)
值得检查您的测试数据库是否使用开发数据库中的模式正确设置。您可以通过以下方式实现此目的:
rake db:test:prepare