【问题标题】:How to mock jQuery selector in google JS Test如何在谷歌 JS 测试中模拟 jQuery 选择器
【发布时间】:2011-11-06 21:31:41
【问题描述】:

我已经开始使用 google js 测试并且在尝试对下面的 jquery 选择器进行单元测试时陷入困境 - 实际上我想检查 append 函数是否已被调用,但这需要一个选择器。

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

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

我创建了一个对象,用作 jQuery 的模拟对象 这个.jQuery = { 附加:createMockFunction() };

我想测试一下 append 是否被调用:

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

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

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

【问题讨论】:

    标签: javascript unit-testing testing


    【解决方案1】:

    发现你可以像这样创建一个 mock:

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

    【讨论】:

      猜你喜欢
      • 2020-03-06
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多