我的JSP
页面中有一些复选框,还有相同数量的“div”元素。
如果选中了复选框,相应的div
应该是可见的,其余的‘and’应该被隐藏。
例如,如果选中了复选框(id='first'
),那么div (id='divFirst'
)应该是可见的,因此。
我的JQuery代码是:
$("input[name='category']:checkbox").click(function () {
var av = document.getElementsByName('category');
for (var e = 0; e < av.length; e++) {
var divName = "#div" + av[e].id;
if (av[e].checked == true) {
$(divName).show();
} else {
$(divName).hide();
}
}
}
这是我的jquery代码,它根据复选框隐藏/显示页面划分。
但我需要写茉莉花脚本来测试它,我是茉莉花脚本的新手。有谁能告诉我怎么写茉莉花脚本来测试它吗?
发布于 2013-08-17 09:02:35
首先,您必须将这些元素添加到测试页面的正文中。这将在您的beforeEach
中完成,因此每个测试都有相同的元素。请注意,您必须重构您的代码,因为如果您将脚本放入测试中,它将尝试在DOM结构之前添加clickHandler,这将被添加到前一个块中。因此,只需将其封装到一个可以在beforeEach
块中调用的函数中即可。
describe('check box', function () {
beforeEach(function () {
$('body').append('<input name="categoty" type="checkbox"><category id="id1"><div id="divid1"></div></category>')
//callYourFunction that adds the clickHandler
})
})
然后你必须为你想测试的每一种情况加上测试。
describe('check box', function () {
beforeEach(function () {
$('body').append('<input name="categoty" type="checkbox"><category id="id1"><div id="divid1"></div></category>')
//callYourFunction that adds the clickHandler
})
it('will hide the div when checkbox is checked', function () {
//trigger the click event
$('input[name="category"]:checkbox').trigger('click');
expect($('divid1').css('display')).toEqual('
none ');
})
})
https://stackoverflow.com/questions/18285894
复制相似问题