2016-06-17 4 views
0

Я застрял в этой проблеме в течение последних 24 часов и не вижу, что не так с моим кодом здесь. Я получаю ошибку инжектора от Angular и не могу понять, почему. Вот мой код:ngMock не впрыскивать завод

(function(){ 
    'use strict'; 
    angular.module('Test', []).factory('stats', factory); 

    function factory() { 
    return { 
     dummy: 'Dummy Text' 
    }; 
    } 
}) 

describe('Test', function() { 
    var stats; 
    beforeEach(module('Test')); 

    beforeEach(inject(function(_stats_) { 
    stats = _stats_; 
    })); 

    it('Should be defined', function() { 
    expect(stats).toBeDefined(); 
    }) 
}) 

Я проверил мой файл karma.conf.js и все файлы, необходимые в настоящее время включены в тест. У меня есть еще одна служба, принадлежащая к тому же модулю, и когда я пытаюсь ввести ее вместо «test», она работает так, как ожидалось.

Любая помощь по этому вопросу будет принята с благодарностью.

ответ

0

Вы определяете функцию, которая определяет тестовый модуль и добавляет статистику сервиса, но вы никогда не вызываете эту функцию.

Код должен быть:

(function(){ 
    ... 
})(); 

Примечание дополнительная пара скобок, используемых для вызова функции.

+0

Большое вам спасибо. Я не знал, что требуются скользящие скобки; Я думал, что они предназначены только для расширения классов в файле. – Cameron

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