2016-02-10 4 views
0

Я новичок в модульном тестировании углов. У меня есть фабрика, в которой я пытаюсь заглянуть в жасмин, и я не могу понять синтаксис спецификации теста. Ниже завод:Испытательная установка AngularJS и жасмина

app.factory('assetFactory', function ($http) { 
    var baseAddress = "../api/"; 
    var url = ""; 
    var factory = {}; 

    factory.getAssets = function (term) { 
     url = baseAddress + "asset/search/" + term; 
     return $http.get(url); 
    }; 
    return factory; 
}); 

Вот мой тест спецификации, которая не по ожидать утверждения (Error: Ожидаемая Шпионские getAssets быть вызванным):

describe('assetFactory', function() { 
    beforeEach(function() { 
     module('fixedAssetApp'); 
    }); 

    beforeEach(inject(function (assetFactory) { 
     spyOn(assetFactory, 'getAssets').and.callThrough(); 
    })); 

    it('should be defined', inject(function (assetFactory) { 
     expect(assetFactory).toBeDefined(); 
    })); 

    it('should have been called, inject(function (assetFactory) { 
     expect(assetFactory.getAssets).toHaveBeenCalled(); 

    })); 
}); 

ответ

1

Пожалуйста, добавьте это изменение.

beforeEach(inject(function (assetFactory) { 
     spyOn(assetFactory, 'getAssets').and.callThrough(); 
     assetFactory.getAssets(); 
    })); 

Для toHaveBeenCalled() возвращения верно, вы должны назвать вашу функцию как в beforeEach или it блока.

+0

ДА !!! Спасибо! – steveareeno

Смежные вопросы