如何解决如何测试具有早期回报的haml部分?
我有一个haml部分,该部分只应为某些人渲染,因此它在开始行有- return unless
:
- return unless user.is_allowed_to_see_this?
stuff here for only them to see
在应用程序中效果很好,但是在测试视图时,rspec render
帮助程序在尝试渲染部分视图而不是返回空/无时会抛出一个no implicit conversion of nil into String
。因此,要测试部分是否正常工作,测试需要看起来像这样:
it 'does not show to unallowed user' do
user = users(:not_allowed)
expect do
render('the/haml_partial',user: user)
end.to raise_error(TypeError)
end
哪个感觉正在测试错误的东西?我觉得期望应该像
expect(rendered).to be_empty
一段时间以来,我一直在仔细阅读文档,却没有发现任何可行的方法。将- return unless...
更改为- if...
会使render
调用返回空字符串而不是错误。也许这就是解决办法?但是我想找到一种方法来保持早日回报,我觉得这很容易理解,因为else
不可能考虑。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。