茉莉花监视 jquery

jasmine spy on jquery

我有一个jQuery函数:

$.fn.Header = function (options) {
    return this.each(function () {
        // bla bla
    });
};

在我的代码中某处我称之为:

function initHeader() {
    // some code before

    $('my-header').Header({

    });
}

我有一个茉莉花测试:

it('shows header in some cases', function () {
    var Header = spyOn($.fn, 'Header');
    expect(Header).toHaveBeenCalledWith('Header');
});

当 运行 测试时出现以下错误:

TypeError: 'undefined' is not a function (evaluating '$('my-header').Header')
    at initHeader
    .....
    Header() method does not exist

问题是什么,我该如何解决?

P.S。我已将 jQuery 添加到 karma.conf.js 文件。

这看起来不像是 jasmine 错误,因为它是从代码中抛出的。似乎无法找到您的 Header 方法。检查带有 $.fn.Header 定义的 js 文件是否也包含在业力配置中。