ror*_*ler 1 ruby rspec ruby-on-rails
我正在Rspec中测试邮件程序,并且遇到了字符串串联的问题。当我这样做时,如下所示:
it 'renders the subject' do
expect(mail.subject).to eq('#{order.firstname} <#{order.email}> has made an order.')
end
Run Code Online (Sandbox Code Playgroud)
我收到以下消息:
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 ==)
Run Code Online (Sandbox Code Playgroud)
但是,当我执行以下操作时,它会通过:
it 'renders the subject' do
expect(mail.subject).to eq(order.firstname + " <" + order.email + "> has made an order.")
end
Run Code Online (Sandbox Code Playgroud)
在rspec中进行串联的正确方法是什么?我发现第一种方法在眼睛上更容易操作。
字符串插值仅在ruby中使用双引号:
it 'renders the subject' do
expect(mail.subject).to eq("#{order.firstname} <#{order.email}> has made an order.")
end
Run Code Online (Sandbox Code Playgroud)
那应该工作。
| 归档时间: |
|
| 查看次数: |
866 次 |
| 最近记录: |