我正在 Rails 4 中制定 Controller 规范,并且想要测试由 Controller 操作创建的记录的属性。如何找到新创建的记录?
例如,我可以做什么来代替
it 'Marks a new user as pending' do
post :create, params
# I don't want to use the following line
user = User.last
expect(user).to be_pending
end
Rails guides仅简单讨论了 Controller 测试,其中提到了测试 Article.count
改变 1,但没有讨论如何获取新的 ActiveRecord 模型。
问题Find the newest record in Rails 3是关于 Rails 3 的。
我不愿意使用User.last
,因为默认排序可能是按创建日期以外的其他方式排序。
最佳答案
如果 Controller 有一个名为@user
的实例变量,那么我们可以在RSpec中通过assigns(:user)
访问它。
关于ruby-on-rails - 使用 RSpec 3 和 Rails 4 在 Controller 测试中查找新创建的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32731143/