Angularjs 在httpBackend模拟中测试post加载

Angularjs 在httpBackend模拟中测试post加载,angularjs,Angularjs,我正在尝试用angular测试我的服务,但测试put请求时遇到困难。我想测试的是查看请求的内容是否正确。 第一次尝试是这样的: httpBackend.expectPUT('/data/category/1',newCategory).respond(201,''); service.addCategory(newCategory); httpBackend.flush(); 希望newCategory对象变成json。但它失败了: 另一种尝试是使用函数测试请求负载: var is

我正在尝试用angular测试我的服务,但测试put请求时遇到困难。我想测试的是查看请求的内容是否正确。 第一次尝试是这样的:

  httpBackend.expectPUT('/data/category/1',newCategory).respond(201,'');
  service.addCategory(newCategory);
  httpBackend.flush();
希望newCategory对象变成json。但它失败了:

另一种尝试是使用函数测试请求负载:

var isNewCategory = function(str){
    return JSON.parse(str) == newCategory;
};
httpBackend.expectPUT('/data/category/1',isNewCategory).respond(201,'');
service.addCategory(newCategory);
httpBackend.flush();
这将产生:

错误:预期PUT/data/category/1具有不同的数据 预期:功能(str){ 返回JSON.parse(str)=newCategory; } 获取:{“名称”:“新类别”,“id”:“2”,“父id”:“1”} $httpBackend(C:/Users)/abizhanzadeh@cta.loc/文件/工作


有人能帮我一下吗?

第二个参数是PUT请求中的对象/数据。第一个示例中的newCategory是什么?它只是一个我想作为json发布到后端的对象
var isNewCategory = function(str){
    return JSON.parse(str) == newCategory;
};
httpBackend.expectPUT('/data/category/1',isNewCategory).respond(201,'');
service.addCategory(newCategory);
httpBackend.flush();