rspec之前:每个 - 如何在一行而不是do..end块上做?

Mic*_*ant 2 ruby rspec

我的代码使用了一个before :each块:

before :each do
  @unsorted=[1,5,6,7,4,5,8,4,2,5,2]
end 
it "contains an unsorted an array" do
  test_array = BubbleSort.new(@unsorted)
  expect(test_array.contents).to eq [1,5,6,7,4,5,8,4,2,5,2]
end 
Run Code Online (Sandbox Code Playgroud)

我希望before :each代码是内联但使用

before :each {@unsorted=[1,5,6,7,4,5,8,4,2,5,2]}
Run Code Online (Sandbox Code Playgroud)

得到:

syntax error, unexpected '{', expecting keyword_
end (SyntaxError)
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

saw*_*awa 7

当写入一个块时{},Ruby的语法不允许省略参数周围的括号.你需要这样做:

before(:each){@unsorted=[1,5,6,7,4,5,8,4,2,5,2]}
Run Code Online (Sandbox Code Playgroud)