2013-07-22 40 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', [ ... ]); 

通過重命名每個模塊,你可以在你茉莉測試分裝每個應用程序。

相關問題