如何测试服务属性调用

时间:2015-06-13 15:43:36

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

这是我的temp.js

angular.module('temp', [])
    .service('tempFactory', function() {
        this.a = 10;
    })
    .controller('tempCtrl', function($scope, tempFactory) {
        $scope.a = tempFactory.a;
    });

这是我的temp.Spec.js

describe('temp', function() {
    var ctrl, scope;

    beforeEach(function() {
        module('temp');

        inject(function($rootScope, $controller) {
            scope = $rootScope.new();
            ctrl = $controller('tempCtrl', {$scope: scope});
        });
    });
});

我知道要测试服务方法调用,有必要使用间谍。但是如何测试服务属性调用(在我的代码中是$ scope.a = tempFactory.a;)?我该如何找到答案 任何服务的某些属性被称为?

1 个答案:

答案 0 :(得分:0)

编写一个测试范围值的规范。不需要间谍。写下以下内容:

it('sets a to the expected value from the service', function () {
  expect(scope.a).toBe(10);
});