Sinon JQuery选择器嘲笑

时间:2014-12-15 00:53:20

标签: mocha sinon

我正在尝试使用mocha / sinonjs测试一个函数。我想测试的函数负责在我的DOM中显示或隐藏一些元素。

这是我的功能

var updateUI = function() {
  $('#login').show();
  $('#logout').hide();
};

我试图使用sinon进行模拟,但我不确定在这种情况下是否可行或正确的事情。

这是我尝试过但我在"TypeError: undefined is not a function"电话

期间收到错误expect
 var mockLogin = sinon.mock($);
 mockLogin.withArgs('#login').expects("show").once();
我简单地想测试我的2个jquery调用已被调用。我试图使用间谍但继续获得例外

1 个答案:

答案 0 :(得分:3)

进一步研究sinon doc,我发现以下内容对我有用。

var jQueryShow = sinon.stub($.fn, 'show');
var jQueryHide = sinon.stub($.fn, 'hide');

jQueryShow.callCount.should.be.equal(1);
jQueryShow.thisValues[0].selector.should.be.equal("#login");

jQueryHide.callCount.should.be.equal(1);
jQueryHide.thisValues[0].selector.should.be.equal("#logout");

我不确定是否有更简单的方法,但它会检查我需要的选择器