首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails测试assert_select与assert_selector

Rails测试assert_select与assert_selector
EN

Stack Overflow用户
提问于 2019-05-13 14:30:28
回答 2查看 1.6K关注 0票数 0

据我所知,assert_select是一种用于测试HTML元素状态的Capybara方法,而assert_selector用于测试是否存在任何<select>元素及其内部文本。

那么,为什么:

代码语言:javascript
复制
assert_select "h1", "Foobar"

工作,当h1不是<select>元素的时候?Rails Guide在这里似乎不一致。

EN

回答 2

Stack Overflow用户

发布于 2019-05-13 15:37:35

您可能需要:

代码语言:javascript
复制
assert_selector "h1", text: "Foobar"
票数 0
EN

Stack Overflow用户

发布于 2019-05-13 15:43:17

这看起来像是对术语的一些误解。

CSS选择器是用于选择要设置样式的元素的模式。assert_select用于选择器测试(不仅仅是<select>元素)。

您的问题中有指向Rails指南的链接。来自there

HTML方法允许您使用简单而强大的语法来查询响应的

元素。

assert_select有两种形式:

assert_select(selector, [equality], [message])确保通过选择器在所选元素上满足相等条件。选择器可以是CSS选择器表达式(字符串)或具有替换值的表达式。

通过从元素(Nokogiri::XML::Node or Nokogiri::XML::NodeSet的实例)及其后代开始的选择器,assert_select(element, selector, [equality], [message])确保在所有选定元素上满足相等条件。

例如,您可以使用以下命令验证响应中title元素的内容:

assert_select 'title',“欢迎使用Rails测试指南”

您还可以使用嵌套的assert_select块进行更深入的调查。

在下面的示例中,li.menu_item的内部assert_select在由外部块选择的元素集合中运行:

assert_select 'ul.navigation‘do assert_select 'li.menu_item’end

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56106832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档