【问题标题】:Test tableless model in Rails在 Rails 中测试无表模型
【发布时间】:2010-10-14 11:45:19
【问题描述】:

当我运行“rake test”时,我得到了这个错误:

1) 错误: test_the_truth(DetailsThankYouTest): ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: details: DELETE FROM "details" WHERE 1=1

应用程序运行良好,但我无法编写任何简单的测试。如何禁用 Rails 测试以使用该表?

【问题讨论】:

    标签: ruby-on-rails unit-testing


    【解决方案1】:

    您是否不小心为此模型添加了夹具文件?

    根据testing guide

    默认情况下,Rails 会自动从 test/fixtures 文件夹中为您的单元和功能测试加载所有夹具。加载涉及(...)从与夹具对应的表中删除任何现有数据。

    【讨论】:

    • 是的,test_helper.rb 就是这样做的
    【解决方案2】:

    大概你有一个类,它本身没有表,但它有子类。在这种情况下,您可以设置:

    class Details < ActiveRecord::Base
      self.abstract_class = true
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 2015-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 2011-11-24
      相关资源
      最近更新 更多