gpt4 book ai didi

ruby-on-rails - 页面内容中 html 实体的 Rspec 测试

转载 作者:数据小太阳 更新时间:2023-10-29 06:41:40 25 4
gpt4 key购买 nike

我正在编写请求规范并想测试字符串“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>

最佳答案

您也可以让测试查看页面的原始源代码:

breadcrumb = '<a href="/reports">Reports</a> &raquo; <a href="/aging_reports">Aging Reports</a>'
page.body.should include(breadcrumb)
expect(page.body).to include(breadcrumb) # rspec 2.11+

话虽如此,我不确定这是最优雅的解决方案。假设您的链接周围有一个名为 .breadcrumb 的类,您只需验证链接是否存在于 div 中:

within '.breadcrumb' do
page.should have_css('a', text: 'Reports')
page.should have_css('a', text: 'Aging Reports')
expect(page).to have_css('a', text: 'Reports') # rspec 2.11+
expect(page).to have_css('a', text: 'Aging Reports') # rspec 2.11+
end

通过这种方式,您可以明确地在面包屑 block 中查找 href。

关于ruby-on-rails - 页面内容中 html 实体的 Rspec 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7691052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com