Ruby on rails 如何格式化多行RSpec,期望{}更改
是否有更好的方法格式化此测试以使其更具可读性Ruby on rails 如何格式化多行RSpec,期望{}更改,ruby-on-rails,ruby,rspec,Ruby On Rails,Ruby,Rspec,是否有更好的方法格式化此测试以使其更具可读性 expect { within '.foo' do click_link 'Delete' end }.to change {Foo.count}.by 1 期望do…end起作用,但更丑…可能是这样的吗 expected = expect do within '.foo' do click_link 'Delete' end end expected.to change { Foo.count }.by 1
expect {
within '.foo' do
click_link 'Delete'
end
}.to change {Foo.count}.by 1
期望
do…end
起作用,但更丑…可能是这样的吗
expected = expect do
within '.foo' do
click_link 'Delete'
end
end
expected.to change { Foo.count }.by 1
不太漂亮,但减少了一些线条噪音。因为将所有内容放在大括号中,并且放在一行太长,我会这样写:
expect do
within(".foo") { click_link "Delete" }
end.to change { Foo.count }.by 1
更新:
未测试,但这也应该有效:
click_delete_link = lambda { within(".foo") { click_link "Delete" } }
expect { click_delete_link }.to change { Foo.count }.by 1
但我还是更喜欢第一个版本:)对不起,这有什么问题吗?我觉得它不太可读…它使用{}表示不常见的多行块。。。