2015-05-12 262 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(); 
}); 
相关问题