我已经开始使用谷歌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对象文字做什么来绕过选择器?
答案 0 :(得分:0)
发现您可以创建这样的模拟:
var jqueryEmptyStub = {
append: createMockFunction()
};
var jQueryMock = function (rootSelector) {
return jqueryEmptyStub;
};
var myObject = anObject(jQueryMock );
expectCall(jqueryEmptyStub.append)();
myObject.doSomethingThatCallsAppend();