2015-08-22 74 views
0

功能在角度,我有這樣的工廠測試傭工因緣

function helperFunction(user){ 
    // more code 
    return user; 
} 

angular.module('factories', []) 
.factory('Users', function() { 
    var users = []; 
    return { 
    add: function(user) { 
     user = helperFunction(user); 
     users.push(user); 
    }, 
    all: function(){ 
     return users; 
    } 
    }; 
}); 

與因果報應,我可以測試工廠,類似於

describe('factories', function() { 

    beforeEach(module('factories')); 

    var users; 

    beforeEach(inject(function(_Users_) { 
    users = _Users_; 
    })); 

    it('test over add function', function(){ 
    users.add({name:'name'}); 
    // ... 
    }); 

    }); 
}); 

我如何測試helperFunction

回答

0

我不確定你要測試什麼,因爲你的「添加」函數沒有返回任何值,所以它不能被控制器或其他服務使用。

這裏有一些資源,可能是有用的:

對於你的情況,只包括輔助功能在您的「用戶」服務或「助手」因爲您無法測試與任何範圍或服務無關的功能。但我想這裏不需要測試它,因爲「添加」功能總是意味着你只需添加一些東西,並且你想測試應用程序的關鍵部分。

+0

添加函數只是添加一個值,其他函數可以返回值。現在我用返回函數編輯示例。 – JuanPablo

+0

根據您的編輯,您應該調用「添加」功能,然後驗證「全部」功能的輸出。如果你堅持測試幫手,你應該把它添加到上面兩個旁邊作爲我的建議。 – quanfoo