如何删除骨干木偶模块

How to remove Backbone Marionette module?

本文关键字:模块 何删除 删除      更新时间:2023-09-26

我正在测试我的骨干木偶模块。在每次测试之前,我想在应用程序上设置一个模块,并且在拆卸过程中想要完全删除它。

我只找到了如何停止模块,但这还不够,它不会删除事件侦听器、应用程序上的模块对象等。除了在存在更多测试用例时再次调用模块定义之外,它不会创建新模块,只是将其应用于现有模块。

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)
});
// assume you know the name of the module
delete application['MyModule'];
// otherwise
var module = application.module('awesomeModule', function(){});
delete application[module.moduleName];

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();
});