如何在google JS Test中模拟jQuery选择器

时间:2011-11-06 21:31:41

标签: javascript unit-testing testing

我已经开始使用谷歌js测试并且已经陷入困境,试图对下面的jquery选择器进行单元测试 - 实际上我想检查是否已经调用了追加函数但需要选择器。

'JQuery'是我注入函数的jQuery($)对象。

JQuery('#' + containerElementId).append('some html');

我创建了一个用作jQuery模拟的对象 this.jQuery = {         append:createMockFunction()     };

我想测试附加名称:

expectCall(this.jQuery(_).append)();
-OR-
expectCall(this.jQuery('#fakeselector').append)();

这给了我错误: TypeError:对象#的属性'jQuery'不是函数 FAILED

我需要对this.jQuery对象文字做什么来绕过选择器?

1 个答案:

答案 0 :(得分:0)

发现您可以创建这样的模拟:

var jqueryEmptyStub = {
    append: createMockFunction()
};

var jQueryMock = function (rootSelector) {
    return jqueryEmptyStub;
};

var myObject = anObject(jQueryMock );
expectCall(jqueryEmptyStub.append)();
myObject.doSomethingThatCallsAppend();