2015-05-12 252 views
0

我正在寫一個控制器的測試,使用angular.js +茉莉花。測試此控制器的正確方法是什麼?

比方說,我有一個控制器:

angular.module('app').controller('HomePageCtrl', function($scope, Homepage, posts, topics, photos, sideBar) { 
    $scope.slide = (photos || [])[0]; 
    $scope.posts = Homepage.posts(posts); 
    $scope.topics = Homepage.topics(topics); 
    $scope.sideBar = sideBar; 
    $scope.template = '/templates/home-page.html'; 
}); 

這個控制器只有範圍變量賦值沒有的功能。我怎樣才能爲這個控制器編寫測試?我需要檢查每個變量是否被定義?每個變量都有正確的值?

回答

0

您可以使用日誌服務(如果這是你的意思)來測試,如果你的變量是不是空

angular.module('logExample', []) 
.controller('LogController', ['$scope', '$log', function($scope, $log) { 
    $scope.$log = $log; 
    $scope.message = 'Hello World!'; 
}]); 
+0

我正在寫單元測試 - 我不理解如何使用日誌服務,我可以測試我的控制器。 – dbabaioff

0

你可以把所有的初始化邏輯到暴露的功能,可以調用它來自測試。

angular.module('app').controller('HomePageCtrl', function($scope, Homepage, posts, topics, photos, sideBar) { 

    $scope.activate = function() { 
     $scope.slide = (photos || [])[0]; 
     $scope.posts = Homepage.posts(posts); 
     $scope.topics = Homepage.topics(topics); 
     $scope.sideBar = sideBar; 
     $scope.template = '/templates/home-page.html'; 
    } 

    $scope.activate(); 
}); 
相關問題