我想测试我的应用程序路由在连接的控制器中有意义。 Testing Marionette Modules in isolation with Jasmine看起来它可能对我有用,但事实并非如此。 (没有调用间谍,而是调用控制器函数本身) 这是我到目前为止所得到的 测试:
it('navigates to showItem', function (){
var instance = new PmsRouter();
spyOn(instance.controller, "showItem");
Backbone.history.start();
instance.navigate("system/pms/1", {trigger:true});
expect(instance.controller.showItem).toHaveBeenCalledWith("1");
window.location.hash = ""
});
模块:
'use strict';
define([
'underscore',
'modules/admin/system/pms/PmsController',
'marionette'
], function(_ ,PmsController) {
var PmsRouter = Marionette.AppRouter.extend({
controller: new PmsController(),
appRoutes: {
'system/pms/:pms_id': 'showItem'
}
});
return PmsRouter;
});
感谢任何帮助!