我有一家棱角分明的工厂,它又叫另一家工厂服务为API调用使用$resource。有人能告诉我,我该如何模拟和测试这种结构吗。
//factory
angular.module('myapp')
.factory('SampleF', function (SampleS) {
return {
getData: function (parm, callback) {
var cb = callback || angular.noop;
return SampleS.get(parm,
function (res) {
return cb(res);
},
function (err) {
return cb(err);
}.bind(this)).$promise;
}
};
});
// Service: SampleS
angular.module('myapp')
.factory('SampleS', function ($resource) {
return $resource('http://localhost:8080:/api/sample/:parm', {
parm: '@parm',
}, {});
});
//API response will be
` {
"firstName": "John",
"lastName": "Franklin",
"companyName": "Benton, John B Jr",
"address": "6649 N Blue Gum St",
"city": "New Oakland",
"county": "Oakland",
"statie": "LA",
"zip": "703333",
"phone": "503-321-2227",
"phone2": "514-145-427",
"email": "john@gmail.com",
}
describe('test',function(){
beforeEach(module('myapp'));
var sampleF,myapp,
beforeEach(inject(function(_sampleF_,_myapp_){
sampleF=_sampleF_;
myapp=_myapp_;
}));
it('testing'function(){
//here you can call your function and expect the values
});
});