我有一个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文件中。
答案 0 :(得分:1)
这不是一个茉莉花错误,因为它是从代码中抛出的。似乎无法找到您的Header方法。检查是否在karma配置中包含带有$ .fn.Header定义的js文件。