在角度服务

时间:2016-11-30 17:55:51

标签: angularjs unit-testing karma-jasmine angularjs-service angular-promise

我的服务简要如下:

function service($q) {

    var deferred = $q.defer();
    var templateService = {
       notifyChangeTemplate : notifyChangeTemplate 
    }
    return templateService;

    function notifyChangeTemplate(data) {

        deferred.notify(data);

        return deferred.promise;
    };
}

函数notifyChangeTemplate在两个不同的控制器中调用。其中一个正在通知,另一个正在使用返回的承诺。

我正在尝试为此功能编写单元测试,尝试了这个:

       it('should notify the promise', function () {
           var data = { test: 1 };

           var promise = myService.notifyChangeTemplate(data);

           promise.then(null, null, function (response) {

               var x = response;
               expect(x).toBe(data);

           });

           $scope.$apply();

       });

但它不起作用,“expect(x).toBe(数据)”甚至没有被击中。

有人能给我一些如何测试这个功能的想法吗?

0 个答案:

没有答案