【发布时间】:2012-08-21 15:48:32
【问题描述】:
运行下面的 Jasmine 测试(1),测试成功但我面临主测试页面的递归加载。
这是我的测试 (1),这里是我运行测试的模块 (2):
有什么想法吗?我该如何解决这个问题?
附:
该问题仅与 Chrome 和 Safari 浏览器有关。
这是一个例子:jsfiddle.net/shioyama/EXvZY
(1)
describe('When Submit button handler fired', function () {
beforeEach(function () {
spyOn(MyView.prototype, 'submitForm');
this.view = new MyView();
this.view.render();
this.view.$el.find('form').submit();
});
it('submitForm should be called', function () {
expect(MyView.prototype.submitForm).toHaveBeenCalled();
});
});
(2)
var MyView = Backbone.View.extend({
events: {
'submit form' : 'submitForm'
},
submitForm: function (event) {
event.preventDefault();
// some code
}
});
【问题讨论】:
-
我在这里为此创建了一个 jsfiddle:jsfiddle.net/shioyama/EXvZY/8。测试通过了,我没有看到任何递归加载,但也许我不知道要寻找什么。你能澄清一下你的意思吗?
-
对不起,这是链接:jsfiddle.net/shioyama/EXvZY
-
@shioyama,感谢您创建了 jsfiddle。你明白我的意思吗?
-
不,很遗憾,我看不到您在说什么。它是否出现在 jsfiddle 中?
-
@shioyama 你的jsfiddle.net/shioyama/EXvZY 就是一个很好的例子。无论如何,问题只涉及 Chrome 和 Safari。尝试在 Chrome 或 Safari 中运行 load jsfiddle.net/shioyama/EXvZY,您会看到问题。
标签: javascript backbone.js jasmine