1
我有一個控制器,我正在寫測試,並且控制器有一個功能,當控制器加載時運行。這個函數有一個if語句,我想測試兩種情況。我的問題是,我正在加載的$範圍只設置爲「如果」而不是其他,所以我不知道如何測試其他。我嘗試將「skillList」設置爲一個數組,該數組將使該函數進入else部分,但這不起作用。測試「it」時有沒有辦法重新加載控制器?業力測試,relead控制器與不同的數據集
這是在我的控制器
function loadIt() {
if (!someService.skillList.length) {
someService.getCategories().then(function(res) {
someService.skillsLoaded = true;
});
} else {
someService.skillcategories = someService.parseCategories(someService.skillList);
someService.skillsLoaded = true;
}
}
loadIt();
而在我的測試功能我有
beforeEach(function() {
return inject(function($injector) {
this.someService = {
skillList: [],
getCategories: function() {
var deferred = $q.defer();
deferred.resolve();
return deferred.promise;
},
parseCategories: function(param) {
return param;
}
};
所以測試負載可達skillList作爲空陣列我有該部分的測試,但我想測試其他我需要skillList [1,2]的地方。想法?