使用'devise'gem进行身份验证,使用rspec进行测试。我的问题是在规范执行后,测试数据没有从DB中清除,因为后续执行的规范失败。以下是规范:
描述用户执行
它“应该在使用有效的电子邮件和密码时返回有效用户” user = User.new(:email =>'test@abc.com',:password =>'test123',:password_confirmation =>'test123') user.save user.should be_valid 端
端
还有什么我不在这里做的吗?
答案 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