【问题标题】:Why records are not getting deleted after test/spec为什么在测试/规范后记录没有被删除
【发布时间】:2010-12-28 01:36:11
【问题描述】:

我使用“设计”gem 进行身份验证,使用 rspec 进行测试。我的问题是在规范执行后测试数据没有从数据库中清除,因为随后的规范执行失败。以下是规格:

描述用户做的事情

它“当使用有效的电子邮件和密码时应该返回一个有效的用户”做 用户 = User.new(:email => 'test@abc.com', :password => 'test123', :password_confirmation => 'test123') 用户保存 user.should be_valid 结束

结束

我在这里还有什么可以做的吗?

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-plugins


【解决方案1】:

我自己也不确定。我正在学习如何制作宝石,我遇到了这个问题。我在spec_helper中添加了方法:


def purge_db
  [User, Subscription, Dorkus].each {|c| c.delete_all}
end

Spec::Runner.configure do |config|
  config.before(:each) { purge_db }
end         

【讨论】:

    【解决方案2】:

    在某些情况下,通常的做法是在每次运行规范之前准备测试数据库:

    rails db:test:prepare
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 2019-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多