代码之家  ›  专栏  ›  技术社区  ›  dahpgjgamgan

Rails3 ActiveRecord::StatementInvalid:…每个测试中都没有此类表

  •  7
  • dahpgjgamgan  · 技术社区  · 15 年前

    我几天前开始学习Rails3,从今天起,每次我为我的模型运行单元测试时,都会收到以下错误消息:

    ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: users: DELETE FROM "users" WHERE 1=1

    昨天的测试进行得很顺利,我今天运行了它们(从它们工作的时候开始恢复所有的状态)。我还是会出错。

    我使用的是64位Windows7、SQLite 3.7.2、Ruby187上的Rails3版本(但我有很多Ruby安装——使用PIK选择187)

    关于解决这个问题有什么想法吗?

    2 回复  |  直到 15 年前
        1
  •  11
  •   Shadwell    15 年前

    使用开发数据库中的模式正确设置测试数据库是值得检查的。您可以通过以下方式实现:

    rake db:test:prepare
    
        2
  •  14
  •   Community Mohan Dere    9 年前

    如果您使用Rails生成器创建了模型,那么您可能留下了试图访问不再存在的表的fixture文件。对我来说,删除YML文件解决了这个问题。

    回答如下: https://stackoverflow.com/a/6222934

    推荐文章