【发布时间】:2014-09-28 07:42:01
【问题描述】:
我定义了一个requirejs模块来提供一个获取浏览器宽度的函数:
browserTool.js
define(['jquery'], function($) {
return {
getBrowserWidth: function() {
return $(window).width();
}
}
});
现在我想为它写单元测试,所以我想模拟jquery:
define(['jquery', 'browserTool'], function(jquery, browserTool) {
describe("test", function() {
it("should do something", function() {
spyOn(jquery, "apply").and.returnValue({
width: function() { return 300; }
});
expect(browserTool.getBrowserWidth()).toEqual(300);
});
});
});
你可以看到我想使用:spyOn(jquery, "apply") 来模拟,但是这个测试不起作用,似乎我发现了一个错误的方法。
如何解决?
【问题讨论】:
标签: javascript jquery unit-testing jasmine spy