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 を呼んでしまいます。