меня есть служба MyService с функцией с помощью ga()
событий отслеживания вызова, который я хочу, чтобы тест:Как издеваются Google Analytics функции вызова га()
angular.module('myModule').factory('MyService', [function() {
var myFunc = function() {
ga('send', 'event', 'bla');
// do some stuff
}
return {
myFunc: myFunc
}
]);
Мой файл спецификации выглядит следующим образом:
describe('The MyService', function() {
var MyService,
ga;
beforeEach(function() {
module('myModule');
ga = function() {};
});
beforeEach(inject(function (_MyService_) {
MyService = _MyService_;
}));
it('should do some stuff', function() {
MyService.myFunc();
// testing function
});
});
Запуск мои тесты всегда дает мне:
ReferenceError: Can't find variable: ga
Если вы хотите протестировать услугу, вы не должны использовать транспортир. Транспортир предназначен для разработки и запуска * сквозных тестов *, тестирования вашего приложения в целом с точки зрения пользователя в браузере. – alecxe
Извините, я, конечно, говорю об модульном тестировании - изменил мой текст – DonJuwe
ga определен внутри функции, не является глобальным. Попробуйте с window.ga = function() {} – fantarama