Backbone、Marionette、Grunt、茉莉花测试

Backbone, Marionette, Grunt, jasmine-testing

我目前正在尝试开发我的第一个 Backbone Marionette 应用程序,我还在使用 Grunt Task runner 以及 Jasmine 进行测试。

所以我创建了自己的登录模型,我想在我的测试中使用它,但不知何故我无法让它工作,我不断收到它未定义的错误...

为简单起见,我已将我的代码粘贴到 Pastebin 上: 登录模型:http://pastebin.com/BGfpkNXC 结构:http://imgur.com/TRiOe5t

咕噜茉莉花

jasmine: {
        all: {
            src: 'app/js/modules/{,*/}*.js',
            options: {
                vendor: [
                    'app/lib/jquery/dist/jquery.js',
                    'app/lib/underscore/underscore.js',
                    'app/lib/backbone/backbone.js',
                    'app/lib/marionette/lib/core/backbone.marionette.js',
                    'app/lib/backbone.babysitter/lib/backbone.babysitter.js',
                    'app/lib/backbone.wreqr/lib/backbone.wreqr.js',
                    'app/lib/bootstrap/dist/js/bootstrap.js',
                    'app/lib/leaflet/dist/leaflet.js'
                ],
                specs: 'app/js/test/**/*.js'
            }
        }
    }

Login.spec.js

describe('Login', function () {
  it('Login - Create Auth', function () {
      var App = new Backbone.Marionette.Application();
      var Auth = App.Auth;

    expect(typeof Auth).toMatch('object');
  });
});

希望我已经提供了所有需要的信息。

提前致谢。 Feeloor

我通过安装 grunt-template-jasmine-requirejs 包并将我的 grunt 更改为:

jasmine: {
        all: {
            src: 'modules/**/*/*.js',
            options: {
                specs: 'app/js/test/**/*.js',
                template: require('grunt-template-jasmine-requirejs'),
                templateOptions: {
                    requireConfigFile: 'app/js/main.js',
                    requireConfig: {
                        baseUrl: "app/js/"
                    }
                }
            }
        }
    },

然后在每个规格上:

define(['modules/login/models/auth'], function(Auth) {

希望这对某人有所帮助。