Угловые сервисные функции не доступны в тестах Жасмин

0

Я новичок в тестировании Jasmine и в Angular framework. В настоящее время у меня есть странная ситуация, когда я не могу ссылаться на свои сервисные функции из своих тестов Jasmine.

Часть моей Инициализации Угловой Службы:

var service = {
checkIfCurrentIsObject: checkIfCurrentIsObject,
removeFromCurrentObject: removeFromCurrentObject;
}

function checkIfCurrentIsObject() {
          return getCurrent().isObject();
       }

function removeFromCurrentIsObject() {
         checkIfCurrentIsObject();
          return specialFunction();
       }

Теперь в моем Тесте Кармы:

describe('when current object is property', function() {

             it('verify the requote function is called', function() {
             spyOn(Service, 'checkIfCurrentIsObject').and.returnValue(true);
             spyOn(Service, 'removeFromCurrentIsObject').and.callThrough();
             spyOn(Service, 'specialFunction');
             expect(Service, 'specialFunction').toHaveBeenCalled();

                    });

Теперь проблема, с которой я столкнулся, заключается в том, что мой spyOn не забирает мою функцию checkIfCurrentIsObject, ЕСЛИ я не this.checkIfCurrentIsObject его как this.checkIfCurrentIsObject в моей функции removeFromCurrentIsObject. Есть ли конкретная причина для этого?

Теги:
unit-testing
karma-jasmine
jasmine

1 ответ

0

Да, это должно быть

 function removeFromCurrentIsObject() {
     this.checkIfCurrentIsObject();
     return this.specialFunction();
 }

шпионить за ними.

Service.checkIfCurrentIsObject метод Service.checkIfCurrentIsObject. В JavaScript нет способа checkIfCurrentIsObject() вызова функции checkIfCurrentIsObject().

Ещё вопросы

Сообщество Overcoder
Наверх
Меню