モデルのメソッドでいくつかの rspec 単体テストを実行しようとしています。このメソッドは promise を返し、解決されるとその人の名前を返します。正しく動作することがわかっているので、この方法は問題ではありません。ここに私のテストコードがあります:
it 'should return correct name' do
report = Report.new(first_name: 'Testy', last_name: 'Testerson')
report.save!
expect(report.name).to eql('Testy Testerson')
end
テストすると、次のエラーが表示されます。
Failure/Error: expect(report.name).to eql('Testy Testerson')
TypeError:
can't convert Promise to Array (Promise#to_ary gives Promise)
デバッグ中に、次の行を使用してメソッドの戻り値を調べました。
puts report.name.inspect
そして、私は次の応答を得ました:
#<Promise(70319926955580): "Testy Testerson">
期待値に対してプロミスをテストするため、エラーが発生しているようです。このエラーが発生するのはなぜですか?