ソース コードは、JQuery を使用してロード イベント ハンドラーを要素に追加します。JSTestDriver を使用してこれをテストしています。
コードは次のようになります。
$(this).load(function () {
alert("Foo");
});
テストを実行すると、アラート ("Foo") は発生しません。それを次のように変更した場合:-
$(this).ready(function () {
alert("Foo with Ready");
});
テストは機能します。
ただし、ソース コードが HTML 内で個別に実行される場合は、正常に実行され、イベントが "load" の場合でもアラート ("Foo") を取得できます。
これは JSTestDriver のバグですか、それとも間違ったことをしていますか? ユニットテストですべてのイベントハンドラーがトリガーされるまで待つ必要があります。(Thread.join() の行に何か) ?
-アジェイ