【发布时间】:2015-08-25 15:56:03
【问题描述】:
我正在 Rspec 中测试一个邮件程序,并且遇到了字符串连接的怪癖。当我这样做时:
it 'renders the subject' do
expect(mail.subject).to eq('#{order.firstname} <#{order.email}> has made an order.')
end
我收到以下消息:
OrderMailer instructions renders the subject
Failure/Error: expect(mail.subject).to eq('#{order.firstname} <#{order.email}> has made an order.')
expected: "\#{order.firstname} <\#{order.email}> has made an order."
got: "Joe <joe@mctester.com> has made an order."
(compared using ==)
但是,当我执行以下操作时,它会通过:
it 'renders the subject' do
expect(mail.subject).to eq(order.firstname + " <" + order.email + "> has made an order.")
end
在 rspec 中连接的正确方法是什么?我发现第一种方法更容易操作,使用起来也更快。
【问题讨论】:
-
不公平地否决这个问题。是的,这是一个红宝石菜鸟错误,但这不是一个坏问题。
标签: ruby-on-rails ruby rspec