В настоящее время я работаю над написанием простого тестового примера для сценария драйвера с использованием IIFE (немедленно вызываемое функциональное выражение). Вот мой скрипт драйвера.
driver.js
(function() {
"use strict";
var app = angular
.module("myApp", [
"ui.bootstrap",
"ui.sortable"
]);
}());
Вот моя спецификация driver.spec.js
describe("application configuration tool driver", function() {
it("should create an angular module named myTest", function() {
expect(app).toEqual(angular.module("myApp"));
});
});
Когда я запускаю свою спецификацию с помощью IIFE. Я получаю ReferenceError: приложение не определено.
Если я запускаю скрипт драйвера без IIFE:
var app = angular
.module("myApp", [
"ui.bootstrap",
"ui.sortable"
]);
Моя спецификация проходит. Любые мысли о прохождении спецификации с использованием IIFE?
app
является локальной для IIFE, но тестexpect(app).toEqual(angular.module("myApp"));
для меня не имеет смысла. - person PSL   schedule 20.10.2015app
? - person charlietfl   schedule 20.10.2015app
для создания пользовательских директив и контроллеров. - person Teja   schedule 20.10.2015var app
в сочетании сapp.controller ...
,app.factory ...
, и, к сожалению, люди не знают, что это анти-шаблон. - person Claies   schedule 20.10.2015angular.module("myApp").controller ...
, чем прикреплять модуль к переменной. Пока вы не используете сеттер (angular.module("myApp",[...])...
) более одного раза, вам не нуженvar app
. Геттер всегда будет возвращать один и тот же экземпляр вашего модуля. - person Claies   schedule 20.10.2015angular,module("myApp") ...
. - person Teja   schedule 21.10.2015