对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;
});
}])
答案 0 :(得分:0)
我倾向于“老学校”,所以我将它命名为一个命名函数,这样我就可以自己测试它;无需通过Restangular放置数据进行测试。
以下是使用angular $httpBackend
的示例:
http://jbavari.github.io/blog/2014/06/20/testing-interceptor-headers-in-angularjs/
答案 1 :(得分:0)
我终于决定让这段代码不经过测试。它无论如何都是来自Restangular的文档的剪切和粘贴,如果它被破坏,其他代码将被破坏,因为它会影响Restangular在其余代码中提供的格式。