我有以下规格:
describe 'blah blah blah' do
it 'yadda yadda yadda' do
expect(Foo).not_to receive(:bar)
subject
end
end
要清楚,如果未调用Foo.bar
,则测试通过。
我很好奇,可以使用it
语法将is_expected
变成单行吗?
即
describe 'blah blah blah' do
it { is_expected.to... }
end
答案 0 :(得分:1)
您可以使用after
after { subject }
it { expect(Foo).not_to receive(:bar) }
答案 1 :(得分:0)
您可以在around(:each)区块中致电subject
。
describe 'blah blah blah' do
around(:each) { |example| subject; example.run }
it { is_expected not_to receive :bar }
end
这不是一个单行,但around(:each)
是针对组中的每个示例运行的(在这种情况下为describe
),因此如果你有多个,它可以节省重复例子。
答案 2 :(得分:0)
你可以这样做
describe 'blah blah blah' do
before { expect(Foo).not_to receive(:bar) }
it { is_expected }
end
我已经完成了几次,我的一些同事发现这种风格模糊不清