我目前有类似的东西:
it 'assigns @competition' do
expect(assigns(:competition)).to be_a_new(Competition)
end
使用it { should ... }
类型语法是否有更短的版本?
答案 0 :(得分:3)
我不知道它更短,但你可以使用:
subject {assigns(:competition)}
it {should be_a_new(Competition)}
或者您可以使用:
it {expect(assigns(:competition)).to be_a_new(Competition)}
在这两种情况下,缩短都来自消除it
的字符串参数,这与使用should
无关。
答案 1 :(得分:1)
到目前为止,RSpec文档建议使用is_expected.to
,如:
describe [1, 2, 3] do
it { is_expected.to be_an Array }
it { is_expected.not_to include 4 }
end
比照http://www.rubydoc.info/gems/rspec-core/RSpec/Core/MemoizedHelpers#is_expected-instance_method