我正在测试我的Backbone Marionette模块。在每次测试之前,我想在应用程序上设置一个模块,并在拆解过程中想要完全删除它。
我只发现了如何停止模块,但这还不够,它不会删除事件监听器,应用程序上的模块对象等。除了再次调用模块定义,如果存在更多测试用例,它不会创建一个新模块,只是将它应用于现有的。
var application = new Backbone.Marionette.Application();
beforeEach(function() {
application.module('MyModule', function() {
// module definition goes here
})
});
afterEach(function() {
// i want something like this
application.remove(MyModule)
});
答案 0 :(得分:1)
// assume you know the name of the module
delete application['MyModule'];
// otherwise
var module = application.module('awesomeModule', function(){});
delete application[module.moduleName];
答案 1 :(得分:0)
MyModule你可以在之后定义它,只是在每个方法之前和之后开始和停止。
var application = new Backbone.Marionette.Application();
application.module('MyModule', function() {
// module definition goes here
})
beforeEach(function() {
application .module('MyModule').start();
});
afterEach(function() {
application .module('MyModule').stop();
});