茉莉花间谍jquery

时间:2015-05-31 19:14:16

标签: javascript jquery jasmine karma-runner

我有一个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文件中。

1 个答案:

答案 0 :(得分:1)

这不是一个茉莉花错误,因为它是从代码中抛出的。似乎无法找到您的Header方法。检查是否在karma配置中包含带有$ .fn.Header定义的js文件。