【发布时间】:2013-10-16 14:24:37
【问题描述】:
这是我的代码中的 sn-p
(function(){
var BootModel = Backbone.View.extend();
var BootApp = Backbone.View.extend({
initialize : function(options) {
//some logical code
},
render : function() {
//some more logical code
}
});
new BootApp({
aggregatedEvent : _.extend({}, Backbone.Events),
model: new BootModel()
});
})();
现在你可以看到我的视图中有逻辑代码,我需要使用 Jasmine 测试这些视图,但在我的情况下,一切都在私有范围内(我这样做是为了防止从外部开发工具访问我的代码像萤火虫和修改我的模型或任何属性状态)
我尝试了很多东西来调查Sinon以了解我是否可以使用Spy,但对我没有任何帮助
类似的问题可能是:Anonymous function in Coffeescript how to test it
我想知道我哪里出错了? 我将所有内容隐藏在匿名函数中的方法是错误的吗? 如果是,那么这种实施的最佳做法是什么? 如果否,那么我将如何测试这种代码
PS:我不赞成后门操纵。
提前感谢您的帮助
【问题讨论】:
-
我认为您将不得不重构您的代码以使这些视图可供外界访问。如果你愿意,你仍然可以使用你的构建/部署系统在一个函数中将它们混合在一起。要么,要么您需要测试硬接线的钩子,以便您可以进入该功能并添加间谍。
-
@muistooshort 谢谢我正在尝试将所有内容都放在全局命名空间范围内
-
我们可以给你一些测试代码吗?
标签: testing backbone.js bdd jasmine sinon