2011-02-01 8 views
3

私は、javascriptユニットテストスイートを作成しています。私が追加したい機能の1つは、特定の要素とその子要素が指定されたHTML構造に一致することをアサートする機能です。逆Zenコーディング

私の最初のアイデアは、jQuery(well、Sizzle)を使用して、アサーションを作成するためにユーザにZen Code文を書くことです。私の最初の質問はです "これは以前に行われていますか?それを盗むことはできますか?"。そうでない場合は、禅コードの声明をどのように解析するかに関する仕様がどこに印刷されていますか?シズルの力を考えれば、私が作ることができるショートカットはありますか?

答えて

1

は、私はあなたがジュージューという音+ http://api.jquery.com/size/

例禅コードクエリがある "のdiv#ページ> div.logo + UL#ナビゲーション>李* 5> A" とそこに着くことができると思います。ページがjQueryの同じ構造を持っているかどうかをテストするのは、$( "div#page> div.logo + ul#navigation> li> a")と同じくらい簡単です。size()== 5

ユーザーassenSelects(selector、number_of_returned_items)のようなapiを使ったテストは、より綿密でなければなりません。

+0

それは良いですが、 'div>(ul> li)+ p> a'のようなやや複雑な表現で壊れます。 – nickf

+0

nickf:私は、CSSセレクタが禅コードでできること全てノードとその子ノードが特定の構造を持っているかどうかを示すのに十分です。 –