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 は後でそれを定義し、各メソッドの前後に開始および停止することができます。

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 に答える