it 'returns true for correct password' do
expect(user.is_password?('password')).to eq(true)
end
我的rspec里有这样的代码,但是当我把它替换为
it 'returns true for correct password' { expect ...}
它抱怨
syntax error, unexpected '{', expecting `end'
...ns true for correct password' {expect(user.is_password?('pas..
卷曲的牙套是不是应该相当于 do...end
?
因为 do
和 end
是关键字,除了块之外,其他任何上下文都不使用,Ruby解释器理解起来并不困难。但大括号至少在两种不同的上下文中使用,首先是作为块的定界符,其次是作为 Hash
这意味着当你使用大括号时,你必须在这里帮助Ruby解释器一点,让它知道你想在什么上下文中使用大括号。
在你的例子中,如果你使用带括号的方法语法,即 it()
而不是 it
这应该告诉解释者,括号后的大括号应该被解释为一个块的定界符。
用这个...
it('returns true for correct password') { expect ... }
而不是使用this...。
it 'returns true for correct password' { expect ... }