是否可以将此规范缩短为一行?
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
get
方法返回如下所示的响应(以及设置实例变量@response
如下所示,这就是您可以在测试用例中使用 response
的原因)。
在这种情况下,您可以利用这一事实并制作单行
expect(get(:check_email, { user: { email: user.email + "abc" } }).body).to be_true
但是,规范应该是可读且易于理解的,以便大多数理性的人能够理解测试正在做什么。
因此,我建议将测试保留为 2 行,因为它更容易理解正在测试的内容。(单行几乎看起来像您正在测试get
的回报,如果您错过了最后对身体的调用)