测试这个控制器的正确方法是什么?

时间:2015-05-12 15:11:52

标签: javascript angularjs unit-testing jasmine karma-runner

我正在使用angular.js + jasmine为控制器编写测试。

假设我有一个控制器:

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';
});

此控制器仅具有范围变量分配而非功能。如何为此控制器编写测试?我需要检查每个变量是否已定义?每个变量都有正确的值?

2 个答案:

答案 0 :(得分:0)

您可以使用日志服务(如果这是您的意思)来测试您的变量是否为空

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

答案 1 :(得分:0)

您可以将所有初始化逻辑放入公开的函数中,以便能够从测试中调用它。

     int** orientation;
     orientation = new int*[8]

     for(i=0;i<8<;i++)
       orientation[i]=new int*[h*w];