2017-11-12 20 views
0

削除されたことを検出します。 .menu -hiddenhはありませんか やコードは、通常、それはあなたが達成しようとしているかについて少しは不明だ私はクリックイベントをテストするためにジャスミンを使用して、私はクラス名を削除します、と私はクラス名は、私がチェックアウトしたい

allFeeds.forEach(function(feed) { 
    feed.id = feedId; 
    feedList.append(feedItemTemplate(feed)); 
    feedId++; 
}); 

feedList.on('click', 'a', function() { 
    var item = $(this); 
    $('body').addClass('menu-hidden'); 
    loadFeed(item.data('id')); 
    console.log($('.menu-hidden').length); 
    return false; 
}); 

menuIcon.on('click', function() { 
    $('body').toggleClass('menu-hidden'); 
    console.log($('.menu-hidden').length); 
}); 
+1

をクリックした後に実行されるかどうかをチェックし、まだです。要素にまだ 'menu -hidden'クラスがあるかどうかをチェックするには、' hasClass( 'menu-hidden') 'を使います。メニューは、当事者が、 をアイコンをクリック*したときに表示されるかどうか、それは隠されている: –

+0

メニューアイコンをクリックすると、メニューが は* 2つの項目が含まれている必要がありますテストが見えるstate.thisを切り替えていることを確認するためのテストケースを書きますもう一度クリックしますか? –

答えて

0
describe('The menu', function() { 
var $menuIcon, $body; 
beforeEach(function() { 
$menuIcon = $('.menu-icon-link'); 
$body = $('body'); 
}); 
afterEach(function() { 
$menuIcon = null; 
$body = null; 
}); 
it('is hidden by default', function() { 
expect($body.hasClass('menu-hidden')).toBeTruthy(); 
}); 
it('should change visibility when the menu icon is clicked', function() { 
$menuIcon.trigger('click'); 
expect($body.hasClass('menu-hidden')).toBeFalsy(); 
$menuIcon.trigger('click'); 
expect($body.hasClass('menu-hidden')).toBeTruthy(); 
}); 
関連する問題