我正在尝试在AngularJS中创建Person类型的新资源。创建资源后,我想获取新的资源ID(由服务器返回)。
it('should get the new Person id after add', inject(function($httpBackend, Person) {
$httpBackend.whenPOST('http://api.example.com/Persons').respond({ "id" : 32});
var newPerson = new Person();
newPerson.$save();
expect(newPerson.id).toEquals(32);
}));
我得到"预计未定义为32"在卡玛。
我认为我的代码段与信用卡代码段末尾的$Resource documentation提供的内容非常接近。
我做错了什么想法?
答案 0 :(得分:0)
您需要致电$httpBackend.flush()
来刷新请求。
试试这个:
it('should get the new Person id after add', inject(function($httpBackend, Person) {
$httpBackend.whenPOST('http://api.example.com/Persons').respond({ "id" : 32});
var newPerson = new Person();
newPerson.$save();
$httpBackend.flush();
expect(newPerson.id).toEquals(32);
}));