2011-06-22 10 views
1

現在、次のコードスニペットをテストするためにjQuery 1.6.1およびjsTestDriverフレームワークを使用しています。主な目的は、フォーカスイベントで "#switcher"がトリガーされた後、 "#area"入力要素にフォーカスがあるかどうかをテストすることです。テストに合格しませんでしたが、失敗する理由はありません。jsTestDriverを使用してフォーカスイベント内でフォーカスをテストする方法

一つ奇妙なことは、私は、このテスト関数内Firefoxで放火犯を使用してブレークポイントを設定した場合、私は、後に実行ボタンを押した後、テストが正常に合格することです。

誰も同じ問題を抱えていますか?それとも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')); 
    }, 

}); 

答えて

0

です私は他の強固な提案はしていません。あなたは物事を頻繁に再発見するべきではありません。試してください:

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().focus(); 
    } 

    var $switcher = $('#switcher', this.$form); 
    $switcher.live('focus', focusHandler); 

    $switcher.focus(); 

    assertTrue($('#area', this.$form).is(':focus')); 
    } 
関連する問題