2

我正在测试我的 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)
});
4

2 回答 2

1
// assume you know the name of the module
delete application['MyModule'];

// otherwise
var module = application.module('awesomeModule', function(){});
delete application[module.moduleName];
于 2013-10-20T23:58:43.987 回答
0

MyModuleYou 可以在每个方法之前和之后定义它,并在 on 之前和之后启动和停止。

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();
});
于 2013-10-17T20:02:38.913 回答