Я не могу получить простой тест Jasmine для работы с моим модулем AngularJS. Любые советы были бы очень оценены.
Модуль с контроллером:
(function(myApp) {
myApp.App = angular.module("MyApp", []).
config(["$routeProvider", function($routeProvider) {
$routeProvider.
when('/', { controller: "CoreAppController", templateUrl: 'App.html' }).
otherwise({ redirectTo: '/' });
}]);
myApp.App.controller("CoreAppController", function($scope, $http, widgetService) {
/* controller definition */
}
}(window.myApp = window.myApp || {}));
Модульный тест:
(function(myApp) {
describe("CoreAppController spec", function() {
describe("Create the CoreApp", function() {
beforeEach(angular.module("MyApp"));
describe("CoreAppController", function() {
it("Should create the core application",
expect(1).toBeGreaterThan(0)
)
});
})
});
}(window.myApp = window.myApp || {}));
Файлы, включенные в тестовый файл, находятся в следующем порядке:
- jasmine.js
- жасмин-html.js
- angular.min.js
- angular.mock.js
- app.js (содержит определение модуля и контроллера)
- CoreAppControllerSpec.js (единичный тестовый файл).
Выполнение этого теста приводит к следующей ошибке:
TypeError: Object # не имеет метода 'apply'
в jasmine.Block.execute (файл: /// C: /TeamFoundation/PRE/test/jasmine/jasmine.js: 1064: 17)
в jasmine.Queue.next_ (файл: /// C: /TeamFoundation/PRE/test/jasmine/jasmine.js: 2096: 31)
на jasmine.Queue.start (файл: /// C: /TeamFoundation/PRE/test/jasmine/jasmine.js: 2049: 8)
в jasmine.Spec.execute (файл: /// C: /TeamFoundation/PRE/test/jasmine/jasmine.js: 2376: 14)
в jasmine.Queue.next_ (файл: /// C: /TeamFoundation/PRE/test/jasmine/jasmine.js: 2096: 31)
на jasmine.Queue.start (файл: /// C: /TeamFoundation/PRE/test/jasmine/jasmine.js: 2049: 8)
в jasmine.Suite.execute (файл: /// C: /TeamFoundation/PRE/test/jasmine/jasmine.js: 2521: 14)
в jasmine.Queue.next_ (файл: /// C: /TeamFoundation/PRE/test/jasmine/jasmine.js: 2096: 31)
на jasmine.Queue.start (файл: /// C: /TeamFoundation/PRE/test/jasmine/jasmine.js: 2049: 8)
в jasmine.Suite.execute (файл: /// C: /TeamFoundation/PRE/test/jasmine/jasmine.js: 2521: 14)
Удаление строки «module» из теста заставляет его пройти. Что я делаю не так?