2013-07-22 41 views
3

我有一个导轨3应用程式2个不同的角应用(其也共享一些代码),我包括在轨道的应用程序即不同的区域,如何使用rails jasmine gem测试多个angularjs应用程序?

app1.js

//= require vendor/angular.min 
//= require vendor/angular-resource 

//= require app/app1 

//= require services/SomeService 

//= require controllers/App2SpecificController 

应用程序/程序app1。 JS

(function() { 
    "use strict"; 

    var App = App || {}; 
    App.Controllers = angular.module('App.Controllers', []); 
    App.Services = angular.module('App.Services', ["ngResource"]); 

    // Make App global 
    window.App = App; 

    angular.module('App', [ 
     "App.Controllers", 
     "App.Directives", 
     "App.Services" 
    ]) 
    .config(['$routeProvider', function($routeProvider) { 
     $routeProvider. 
     // some routes 
    }]); 
})(); 

app2.js

//= require vendor/angular.min 
//= require vendor/angular-resource 

//= require app/app2 

//= require services/SomeService 

//= require controllers/App2SpecificController 

AP P/app2.js

(function() { 
    "use strict"; 

    var App = App || {}; 
    App.Controllers = angular.module('App.Controllers', []); 
    App.Services = angular.module('App.Services', ["ngResource"]); 

    // Make App global 
    window.App = App; 

    angular.module('App', [ 
     "App.Controllers", 
     "App.Directives", 
     "App.Services" 
    ]) 
    // No routes required 
})(); 

我已经设置了jasmine-gem,测试应用程序之一,但无法弄清楚如何展开这两个应用程序。

我能想到的一些选项:

  • 叉茉莉花宝石能够与多个jasmine.yml配置文件运行,只是运行测试此起彼伏 - 但感觉它可能是矫枉过正。
  • 将这些应用程序合并为一个角度应用程序,但是这样做会非常困难,因为它们的工作方式非常不同(其中一个更加角度化,另一个更多地使用rails-y)。

还有其他的选择吗?

+1

你解决了吗?我有同样的问题。 – matthewrk

回答

0

您可以重命名您的app1和app2模块,但仍将它们分配给相同的全局变量App。

window.app = angular.module('App1', [ ... ]); 

window.app = angular.module('App2', [ ... ]); 

通过重命名每个模块,你可以在你茉莉测试分装每个应用程序。

相关问题