小编bur*_*erS的帖子

在带有茉莉花的angularJS内注入服务的测试控制器

我试图了解如何使用jasmine和angularJS测试我的代码.我用控制器和注入服务编写了一个测试项目.现在我想测试控制器并试图模拟注入的服务.但我没有找到一种方法来测试我的控制器"到达"功能.这是我的jsfiddle:http://jsfiddle.net/2fwxS/

controller.js:

angular.module('myApp.controllers', [])
    .controller('MyCtrl', ['$scope', 'MyService', function ($scope, MyService) {
    $scope.User = {};
    $scope.HasUserArrived = false;
    $scope.Arrived = function(firstname, lastname) {
    $scope.HasUserArrived = MyService.Arrive(firstname, lastname);
    return $scope.HasUserArrived;
    }
}]);
Run Code Online (Sandbox Code Playgroud)

services.js:

var myApp = angular.module('myApp.services', []).
  value('version', '0.1');

myApp.factory('MyService', [function () {
    return {
        HasArrived: false,
        Arrive: function (firstname, lastname) {
            this.HasArrived = false;

            if (firstname && lastname) {
                this.HasArrived = true;
            }

            console.log("User has arrived: " + this.HasArrived);
            return this.HasArrived;
        }
    }
}]);
Run Code Online (Sandbox Code Playgroud)

我找到了一些类似的解释,其中$ provide可能是正确的解决方案(如何为角度控制器和服务编写茉莉花测试? …

testing tdd code-injection jasmine angularjs

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

angularjs ×1

code-injection ×1

jasmine ×1

tdd ×1

testing ×1