【发布时间】:2011-10-07 17:58:58
【问题描述】:
我正在编写一个请求规范,并想测试字符串“Reports » Aging Reports”是否存在。如果我直接在匹配器表达式中输入字符,我会得到一个错误(无效的多字节字符),所以我尝试了这个:page.should have_content("Reports » Aging Reports")
这使测试失败并显示以下消息:
expected there to be content "Reports » Aging Reports" in "\n Reports » Aging Reports\n
我尝试过.html_safe 之类的方法,但没有成功。有没有办法测试包含 html 实体的文本?
编辑:
这里是html源码的相关区域:
<a href="/reports">Reports</a> &raquo; <a href="/aging_reports">Aging Reports</a>
【问题讨论】:
-
这可能是因为 HTML 源代码包含
»而不是&raquo;。更改 HTML 以便使用&raquo;而不是»。实际呈现的 HTML 是什么?»是 HTML 源代码的一部分,还是在 HTML 源代码中定义为&raquo;?请向我们展示源 HTML。不知道为什么“预期”显示&#187;而不是&raquo;。 -
HTML 实际上是 » »是“”的另一种形式我尝试过的实体,但我已经更新了问题。
-
看起来 RSpec 正在为您将
&raquo;转换为»。尝试在测试中包含实际角色。
标签: ruby-on-rails ruby rspec html-entities