用于将此规范缩短为一行的语法

时间:2019-01-09 19:21:24

标签: ruby-on-rails rspec

是否可以将此规范缩短为一行?

it 'false for incorrect email' do 
  get :check_email, { user: { email: user.email + "abc" } }
  expect(response.body).to be_true
end 

类似:

  expect(get :check_email, { user: { email: user.email + "abc" } } ...??? ).to be_true

1 个答案:

答案 0 :(得分:2)

get方法返回的响应如图Here所示(以及设置实例变量@response的显示Here,这就是为什么可以使用{{1} })。

在这种情况下,您可以利用这一事实并做出单线

response

但是规范应该易读易懂,以便大多数理性的人可以理解测试的目的。

因此,我建议将测试保留为2行,因为这样可以更轻松地了解所测试的内容。 (如果您错过了对正文的调用,单线简直就像您正在测试expect(get(:check_email, { user: { email: user.email + "abc" } }).body).to be_true 的收益)