我正在编写一个 JavaScript 单元测试套件,我想添加的功能之一是能够断言某个元素及其子元素与给定的 HTML 结构匹配。
我的第一个想法是使用 jQuery(嗯,Sizzle)并要求用户编写Zen Code语句来进行断言。我的第一个问题是“以前做过吗?我可以偷吗?” . 如果没有,是否有任何地方印有关于如何解析 Zen Code 语句的规范?鉴于 Sizzle 的强大功能,我有什么捷径可走吗?
我正在编写一个 JavaScript 单元测试套件,我想添加的功能之一是能够断言某个元素及其子元素与给定的 HTML 结构匹配。
我的第一个想法是使用 jQuery(嗯,Sizzle)并要求用户编写Zen Code语句来进行断言。我的第一个问题是“以前做过吗?我可以偷吗?” . 如果没有,是否有任何地方印有关于如何解析 Zen Code 语句的规范?鉴于 Sizzle 的强大功能,我有什么捷径可走吗?
我认为您可以通过 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 进行测试应该更舒适。