我正在尝试对模型中的方法进行一些 rspec 单元测试。该方法返回一个承诺,并在解决时返回人名。该方法不是问题,因为我知道它可以正常工作。这是我的测试代码:
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">
该错误似乎正在发生,因为它根据预期值测试了承诺。为什么我会收到此错误?