我正在编写一个 JavaScript 单元测试套件,我想添加的功能之一是能够断言某个元素及其子元素与给定的 HTML 结构匹配。
我的第一个想法是使用 jQuery(好吧,Sizzle)并要求用户写 Zen Code陈述来作出断言。我的第一个问题是“以前这样做过吗?我可以偷它吗?”。如果没有,是否有打印规范说明如何解析 Zen Code 语句?鉴于 Sizzle 的强大功能,我可以采取任何捷径吗?
最佳答案
我想你可以通过 sizzle + http://api.jquery.com/size/ 到达那里.
示例 Zen 代码查询为“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 进行测试应该会更舒适。
关于jquery - 反向 Zen 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4864261/