Ruby かいてて些細なミスでハマったことを書いておきます。その2。
describe 'Hoge' do
it do
expect ('hoge').to eq('hoge')
end
end
expect ('hoge')
のところの括弧の前にスペースが入っているのが問題です。
正しくは
describe 'Hoge' do
it do
expect('hoge').to eq('hoge')
end
end
'hoge'に
to
というメソッドがない、というエラーが出るので気づくのですが +
がないというエラーになっててハマった。
解説
expect('hoge').to eq('hoge')
は expect('hoge').to(eq('hoge'))
と等価です。
expect ('hoge').to eq('hoge')
は expect('hoge'.to(eq('hoge')))
と等価です。
to
は expect の戻り値に対して使うメソッドです。
空白をいれてしまうと、expect ではなく ‘hoge’ に対し to
を呼んでしまいます。