現在、jQuery 1.6.1とjsTestDriverフレームワークを使用して、次のコードスニペットをテストしています。主な目的は、「#switcher」がフォーカスイベントでトリガーされた後、「#area」入力要素がフォーカスを取得したかどうかをテストすることです。テストに合格しませんでしたが、失敗する理由はわかりません。
奇妙なことに、このテスト関数内でFirefoxのfirebugを使用してブレークポイントを設定した場合、後で実行ボタンを押した後、テストは正常に合格します。
誰かが同じ問題に遭遇しましたか?それともjsTestDriverフレームワークのバグですか?
私の備品は次のとおりです。
<form id="test-form">
<input style="display: none;" type="text" value="" name="area" id="area">
<input type="text" value="" name="switcher" id="switcher">
</form>
これが私のjavascriptテストコードです
TestCase('test focus within a focus event', {
setUp: function() {
this.$form = $('#test-form');
},
'test focus switcher, area should be focused': function() {
function focusHandler(){
$('#area', this.$form).show();
$('#area', this.$form).focus();
}
$('#switcher', this.$form).live('focus', focusHandler);
$('#switcher', this.$form).focus();
assertTrue($('#area', this.$form).is('focus'));
},
});