【问题标题】:Reverse Zen Coding逆禅编码
【发布时间】:2011-06-19 08:28:59
【问题描述】:

我正在编写一个 JavaScript 单元测试套件,我想添加的功能之一是能够断言某个元素及其子元素与给定的 HTML 结构匹配。

我的第一个想法是使用 jQuery(嗯,Sizzle)并要求用户编写 Zen Code 语句来进行断言。我的第一个问题是“以前做过吗?我可以偷吗?”。如果没有,是否有任何地方印有关于如何解析 Zen Code 语句的规范?鉴于 Sizzle 的强大功能,我有什么捷径可走吗?

【问题讨论】:

标签: jquery unit-testing sizzle emmet


【解决方案1】:

我认为您可以通过 sizzle + http://api.jquery.com/size/ 到达那里。

示例 Zen Code 查询是“div#page>div.logo+ul#navigation>li*5>a”。在 jQuery 中测试页面是否具有相同的结构就像 $("div#page > div.logo + ul#navigation > li > a").size() == 5 一样简单。

除非您的用户已经熟悉 Zen Code,否则使用诸如 assertSelects(selector, number_of_returned_items) 之类的 API 进行测试应该更舒适。

【讨论】:

  • 这很好,但它会分解为像div>(ul>li)+p>a这样稍微复杂的表达式
  • nickf:我并不是说 css 选择器可以做 zen 代码可以做的所有事情,只是它们足以判断一个节点及其子节点是否具有某种结构。
猜你喜欢
  • 2013-05-20
  • 1970-01-01
  • 2012-08-18
  • 2013-01-05
  • 1970-01-01
  • 2011-11-15
  • 1970-01-01
  • 2019-11-03
  • 2011-11-17
相关资源
最近更新 更多