Rspec:期望中{}和()之间的差异

时间:2017-03-04 13:13:24

标签: ruby-on-rails ruby rspec

如果请求抛出RecordNotFound异常,我想使用Rspec进行测试。我不知道这两行代码之间的真正区别是什么,但一个是工作,一个不是。

这条线有效:

  expect{get :show, params: {id: promotion.id + 1}}.to raise_exception(ActiveRecord::RecordNotFound)

但这一行不是(using()而不是{})

  expect(get :show, params: {id: promotion.id + 1}).to raise_exception(ActiveRecord::RecordNotFound)

但是,我经常使用第二行来表达其他内容,例如:

it 'expect success' do
  get :show, params: {id: product.id}
  expect(response).to be_success
end

请告诉我有什么区别。

0 个答案:

没有答案