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

How to mock jQuery selector in google JS Test

本文关键字:模拟 jQuery 选择器 测试 JS google      更新时间:2023-09-26

我已经开始使用google js测试,并已成为卡住尝试单元测试jquery选择器下面-实际上我想检查是否追加函数已被调用,但这需要一个选择器

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

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

我已经创建了一个对象,我用它来模拟jQuery这一点。jQuery = {附加:createMockFunction ()

};

我想测试一下append是否叫做

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

这给了我错误:类型错误:对象#的属性jQuery不是一个函数失败的

我需要对这个做些什么?jQuery对象文字绕过选择器?

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

var jqueryEmptyStub = {
    append: createMockFunction()
};
var jQueryMock = function (rootSelector) {
    return jqueryEmptyStub;
};
var myObject = anObject(jQueryMock );
expectCall(jqueryEmptyStub.append)();
myObject.doSomethingThatCallsAppend();