我有这个工作测试,期望值为2。 我想使其更清洁,并且每个测试有1个期望值。 问题在于,在运行程序之前需要先完成第一个期望,然后在运行第二个期望。
context 'when user has invited over 3 users' do
let (:user) { create(:user_with_wallet) }
it 'sends slack and increases risk score' do
expect(Slack.client).to receive(:ping).once
4.times do
create(:user_invitation, email: Faker::Internet.email, sender: user)
end
expect(user.risk_matrix.score).to eq(RiskMatrix::INVITED_TOO_MANY_USERS )
end
end
如果我在4.times
块中设置了before
位,那么Slack
的期望将失败
如果我将其设置在after
块中,那么将是risk_matrix
失败。
最干净的方法是什么?
非常感谢