在测试我的 REST 服务时,我收到以下错误消息:
错误:[$resource:badcfg] 查询 http://errors.angularjs.org/1.4.6/$resource/badcfg?p0=array&p1=object&p2=GET&p3=http%3A%2F%2Flocalhost%3A63831%2Fapi%2Fnames in http://localhost:60694/js/angular.js(第 68 行)
我不知道如何解决这个问题。该应用程序是否可能与 WebApi 一样位于另一个 localhost 端口中?
下面的代码显示了单元测试:
describe('Test', function () {
var $httpBackend, $rootScope, crudService, baseUrl, respValue;
beforeEach(function () {
module('testApp');
inject(function (_$httpBackend_, _$rootScope_, _CrudService_, _baseUrl_) {
$httpBackend = _$httpBackend_;
$rootScope = _$rootScope_;
crudService = _CrudService_;
baseUrl = _baseUrl_;
});
});
it('should make a request to the backend', function () {
$httpBackend.whenGET('views/home.html').respond(200);
$httpBackend.expectGET(baseUrl + '/api/names').respond(200, [{
Id: '1', fname: 'John', lname: 'Doe', age: 30, GroupId: 1
}]);
$rootScope.$digest();
crudService.getAllNames().$promise.then(function (response) {
respValue = response;
});
$httpBackend.flush();
expect(respValue).toContain([{
Id: '1', fname: 'John', lname: 'Doe', age: 30, GroupId: 1
}]);
});
编辑:
我尝试了下面的答案并添加了一个expect()
-method,并显示了以下错误消息:
预期 [ d({ Id: '1', fname: 'John', lname: 'Doe', age: 30, GroupId: 1 }), $promise: Promise({ $$state: Object({ status: 1,待定:未定义,值:,processScheduled:false }) }),$resolved:true ] 包含 [ Object({ Id: '1', fname: 'John', lname: 'Doe', age: 30, GroupId: 1})]。