目前我正在使用 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'));
},
});