2016-06-17 83 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

您正在定義一個函數,該函數定義了一個Test模塊並添加了一個服務統計信息,但是您從不會調用該函數。

的代碼應該是:

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

注意附加的一對用來調用函數括號。

+0

非常感謝。我不知道後面的括號是必需的;我認爲這些只是爲了擴展文件上的類。 – Cameron