【发布时间】:2017-09-02 14:14:30
【问题描述】:
我正在尝试为 IIFE 函数中的以下点击事件编写单元测试。
jQuery(function($)
{
$('span.select-toggle').click(function()
{
$i = $(this);
if ($i.parent().find('ul.select-sub').is(':visible')) {
$i.removeClass('fa-select-down').addClass('fa-select-right');
} else {
$i.removeClass('fa-select-right').addClass('fa-select-down');
}
});
});
HTML 夹具文件:
<div id="select">
<ul class="select-stub" style="visibility :visible;">
<span class="select-toggle" ></span>
</ul>
</div>
单元测试:
describe('Selectmenu Expand/Collapse of a node', function () {
beforeAll(function () {
spyOnEvent('.select-toggle', 'click');
$('span.select-toggle').trigger("click");
});
it('Should visible parent node', function () {
expect($('.select-toggle').parent().find('ul.select-sub:visible').count()).toBe(1);
});
});
但是这个spyOnEvent 没有在点击事件中被触发并且没有通过测试。有人请建议任何更好的解决方案来触发 IIFE 函数中的点击事件。
【问题讨论】:
标签: javascript jquery unit-testing jasmine