为什么在测试/规范之后记录不会被删除

时间:2009-12-18 14:39:07

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

使用'devise'gem进行身份验证,使用rspec进行测试。我的问题是在规范执行后,测试数据没有从DB中清除,因为后续执行的规范失败。以下是规范:

描述用户执行

它“应该在使用有效的电子邮件和密码时返回有效用户”     user = User.new(:email =>'test@abc.com',:password =>'test123',:password_confirmation =>'test123')     user.save     user.should be_valid   端

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

2 个答案:

答案 0 :(得分:0)

我不确定自己。我正在学习如何制作宝石,我遇到了这个问题。我在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         

答案 1 :(得分:0)

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

rails db:test:prepare