所以我正在使用 ruby on rails 工作,并且我第一次将它与 AngularJS 1 一起使用,因此我第一次在 rails 内设置了 angularjs 的单元测试。我可以用 rspec 测试 rails 没问题,但我一直在努力测试 angularjs,目前我正在使用 teaspoon-jasmine 和 angular-mocks 来测试一个简单的角度控制器,但我遇到了几个问题。下面的第一个文件是我的测试文件,我目前使用 angular.mock.module/inject 拥有它,我得到的错误是“无法实例化模块 angularrApp 由于...”它基本上是说我没有创建或在任何地方加载 angularApp,我虽然模拟应该创建一个测试模块?如果我将模块设置为“angular.module("name", [])”,就像我通常会创建一个 Angular 应用程序一样,我遇到了更多问题,例如尚未创建 mainController。我只是总体上无法正常工作,有什么建议吗?在进行实际测试之前,我试图让简单的第一个期望工作。我需要在 spec_helper.js 文件中的 angular 和 angular-mocks,下面的所有文件。在我的 spec_helper.js 中要求创建角度应用程序的文件是否有帮助?我已经尝试过但无法让它工作,因为一个在规范目录中,而我的 Angular 应用程序在 app/assets 中。另外,如果有帮助,这里是我基于此代码的教程的链接 在我继续进行实际测试之前,我试图让简单的第一个期望工作。我需要在 spec_helper.js 文件中的 angular 和 angular-mocks,下面的所有文件。在我的 spec_helper.js 中要求创建角度应用程序的文件是否有帮助?我已经尝试过但无法让它工作,因为一个在规范目录中,而我的 Angular 应用程序在 app/assets 中。另外,如果有帮助,这里是我基于此代码的教程的链接 在我继续进行实际测试之前,我试图让简单的第一个期望工作。我需要在 spec_helper.js 文件中的 angular 和 angular-mocks,下面的所有文件。在我的 spec_helper.js 中要求创建角度应用程序的文件是否有帮助?我已经尝试过但无法让它工作,因为一个在规范目录中,而我的 Angular 应用程序在 app/assets 中。另外,如果有帮助,这里是我基于此代码的教程的链接http://angular-rails.com/find_and_browse.html
mainController_spec.js(测试文件)
'use strict';
describe("mainController", function() {
var scope,
ctrl,
location,
resource;
var setupController = function() {
angular.mock.inject( function($rootScope, $resource, $controller) {
scope = $rootScope.$new();
resource = $resource;
ctrl = $controller('mainController', {$scope: scope, $resource: resource });
})
}
beforeEach(function(){
angular.mock.module("angularApp");
setupController();
})
it('should work', function(){
expect(true).toBe(true);
// expect(scope.games).toBe([])
})
});
主控制器.js
'use strict';
myApp.controller('mainController', [ 'mainFactory', '$scope', '$resource', (factory, scope, resource) => {
scope.games = [];
factory.populateTable((data) => {
scope.games = data;
})
}]);
角-app.js
'use strict';
const myApp = angular.module('angularApp', ['ngRoute', 'ngResource']);
// routes in another file