测试Restangular responseInterceptor

时间:2014-10-31 20:45:45

标签: angularjs jasmine restangular

对Restangular responseInterceptor进行单元测试的最佳方法是什么?

例如:

.config(['RestangularProvider', function(RestangularProvider){
    RestangularProvider.setDefaultHttpFields({cache: true, withCredentials: true});
    RestangularProvider.addResponseInterceptor(function (data, operation, what, url, response, deferred) {
        console.log('response from '+ url);
        console.log(data);
        var extractedData;
        // .. to look for getList operations
        if (operation === "getList") {
            // .. and handle the data and meta data
            extractedData = data.data;
            //extractedData.meta = data;
        } else {
            extractedData = data;
        }
        return extractedData;
    });
}])

2 个答案:

答案 0 :(得分:0)

我倾向于“老学校”,所以我将它命名为一个命名函数,这样我就可以自己测试它;无需通过Restangular放置数据进行测试。

以下是使用angular $httpBackend的示例: http://jbavari.github.io/blog/2014/06/20/testing-interceptor-headers-in-angularjs/

答案 1 :(得分:0)

我终于决定让这段代码不经过测试。它无论如何都是来自Restangular的文档的剪切和粘贴,如果它被破坏,其他代码将被破坏,因为它会影响Restangular在其余代码中提供的格式。