gpt4 book ai didi

ruby-on-rails - 如何使用 rails jasmine gem 测试多个 angularjs 应用程序?

转载 作者:行者123 更新时间:2023-11-28 20:01:19 25 4
gpt4 key购买 nike

我有一个 Rails 3 应用程序,其中包含 2 个不同的 Angular 应用程序(它们也共享一些代码),我将它们包含在 Rails 应用程序的不同区域,即,

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

应用程序/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 ,以测试其中一个应用程序,但无法弄清楚如何将其扩展到两个应用程序。

我能想到的一些选项:

  • fork jasmine-gem 以便能够与多个 jasmine.yml 配置文件一起运行,并且只是一个接一个地运行测试 - 但感觉它可能有点矫枉过正。
  • 将这些应用合并为 1 个 Angular 应用,但这很难做到,因为它们的工作方式完全不同(一个更偏向于 Angular ,一个更偏向于 rails-y)。

还有其他选择吗?

最佳答案

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

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

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

通过重命名每个模块,您可以在 jasmine 测试中单独加载每个应用。

关于ruby-on-rails - 如何使用 rails jasmine gem 测试多个 angularjs 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17785410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com