0
IIFE関数内で次のクリックイベントの単体テストを作成しようとしています。JASMine JavaScript Unitテストスイートで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の機能内でクリックイベントを発生させるためのより良い解決策を提案してください。
スクリプトの現在の動作を変更することはできません。私は本当に単体テストでそのイベントリスナーを起動したい。だから、より良いアプローチ? – supun94