如何在该工厂使用茉莉花进行单元测试?

时间:2016-01-27 11:20:41

标签: angularjs unit-testing karma-jasmine

我尝试对该代码进行单元测试,该代码包含采用行为名称的工厂并在闭包中收缩http请求?

    var app = angular.module("behaviour",[]);
    var behaviour = app.factory('Behaviours',['http',function(http){

    var BehavioursJson = $http.get('data.json');
    return {
        getBehaviour : function(behaviourName) {

            if (BehavioursJson[behaviourName]) {

                var behaviour = BehavioursJson[behaviourName];
                return function (behaviourData, callback) {
                    var keys = Object.allKeys(behaviourData);
                    var headers = {};
                    var data = {};
                    var url = behaviour.path;

                    // some process to fill headers and data objects

                    $http({
                        method: behaviour.method,
                        url: url,
                        data:  data,
                        headers: headers
                    }).then(function successCallback(response) {
                        callback(response,null);
                    },function errorCallback(error) {
                        callback(null,error);
                    });

                }
            };
        return null;
        }
    }
}]);

注意:使用jasmine

0 个答案:

没有答案
相关问题