我有一个适用于rails 4.2.5.2
expect(@mail.first.body.encoded).to have_link('here',
href: edit_questionaire_url(questionaire))
如果我升级到rails 4.2.6
或rails 4.2.7.1
,则会收到以下错误消息。
Failure/Error:
expect(@mail.first.body.encoded).to have_link('here',
href: edit_questionaire_url(questionaire))
expected to find link "here" with href "http://www.example.com/questionaires/1/edit" but there were no matches. Also found "here", which matched the selector but not all filters.
如果我比较测试中的网址和@ mail.body,它们是相同的,除了引号:
\"http://www.example.com/questionaires/1/edit\" - body of email
"http://www.example.com/questionaires/1/edit" - test error
许多其他类似的测试现在正在破裂。我该如何解决这个问题?
答案 0 :(得分:0)
最后,我遵循Tom Walpole的建议,并使用capybara-email
宝石重构。这有很多优点,包括更容易理解的测试,更强大的测试以及点击电子邮件中的链接的能力。