妄想に取り付かれると、無敵のキラ様に殺されたりする。
さっきの続き。
JsTestDriverでDOM操作のテストを実行するには
・DOM API(docment.~とかJQueryのものとか)をつかう。
・ 【/*:DOC foo = <div><p>foo</p></div>*/】って擬似DOMにアクセスする
の2パターン存在する。
その他のjs単体テストモジュールと違い、静的なhtmlファイルを参照したりすることは
できない(あくまで現時点では)。
オプションでいかにも静的なhtmlを参照できるかのような物が存在するが、
あれは非同期通信の時などに参照するためのものであって、決して
DOMテスト用ではない。引っかからないように。
まだきちんと試せたわけではないが、後者はthisの扱いがちょっとおかしい。
理由として、jsでthisといえば、
・イベントが発生している時はその発生もとのコンポーネント
・そうでないときは自分自身(クラスとか)
だったりするが、JsTestDriver的にはthisは【:DOC foo】で指定した要素を指してしまう
ので、挙動がおかしかったりする。
そんな感じで怖いから、前者を使いたい。
とはいうものの、今度はそのDOM APIがめんどくさくなってくる。
解決方法としては、seleniumと連携して、htmlを取得し、そのhtmlを解析してDOM APIに置換。
testjs自体に結果をインサートして使用するとかになるのかな。
そんなめんどくさいことしなきゃ
0 件のコメント:
コメントを投稿