Rspecで"You must pass an argument rather than a block...." エラー
読んだもの
学んだこと
matcherにはブロックを受け取れるものとそうでないものがある。
例えば以下のように書くと表題のエラーになる。
context 'とある場合' do it '名前がほげほげであること' do expect { described_class.new(user).name }.to eq "ほげほげ" end end
You must pass an argument rather than a block to use the provided matcher....
これはeqというmatcherはブロック {}
を受け取れないというエラー。
下記のように引数にすることで実行できる。
context 'とある場合' do it '名前がほげほげであること' do expect(described_class.new(user).name).to eq "ほげほげ" end end
何気なく他の部分のテストを真似るとときどきこのようなエラーを招くので気をつける。