用户注册成功后,如何编写规范以检查是否在数据库中创建了新记录?在带有 capybara、factorygirl 和 database_cleaner gem 的 Rails 4 中使用 rspec。
我觉得这种情况很常见,应该很容易找到答案,但我无法在这里或通过谷歌找到答案。
最佳答案
您可能想要 change matcher
您将执行以下操作:
expect {
post :create, :user => {:user => :attributes }
}.to change { User.count }
或者expect {
post :create, :user => {:user => :attributes }
}.to change(User, :count)
这段代码说:期望运行这第一个代码块来更改我运行该代码块时得到的值
并且在功能上等同于写作:
before_count = User.count
post :create, :user => {:user => :attributes }
expect(User.count).not_to eq(before_count)
关于ruby-on-rails - 如何使用带有 Rails 4 的 rspec 检查记录是否保存在数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30158710/