2
让我解释一下这个问题......RSpec的:多用于断言控制器规范
我测试Rails控制器使用RSpec,我有一个场景,其中约8断言..
我不喜欢有一个“它”用的量断言所以我所做的就是这样的:
RSpec.shared_examples 'successful payment' do |term_type, years|
let(:surgeon_package) { assigns(:surgeon).reload.last_surgeon_package }
let(:payment) { surgeon_package.payments.first }
before do
put(:update_account, params)
end
it 'package term must be yearly' do
expect(surgeon_package.payment_term.term).to eq(1)
expect(surgeon_package.payment_term.term_type).to eq(term_type)
end
it 'package payments must be one' do
expect(surgeon_package.payments.count).to eq(1)
end
it '...'
end
但正如你可以看到我请求在每次行动:update_account
。
您认为解决此问题的最佳方法是什么?因为我不想每次都请求/ update_account。
全局变量? $缓存?让代码回到一个“它”?想法?
感谢社区
你为什么要多次调用'update_account'动作?为了不破坏测试数据,例如不更新一些记录?或者你有其他原因吗? – VAD