Javascript 茉莉花,Parse.com&;承诺:测试调用query.get/find的函数

Javascript 茉莉花,Parse.com&;承诺:测试调用query.get/find的函数,javascript,unit-testing,jasmine,promise,automated-tests,Javascript,Unit Testing,Jasmine,Promise,Automated Tests,我正在尝试测试parse.com支持的数据服务,但到目前为止还没有找到令人满意的解决方案。基本上,我想用karma/jasmine来测试一个返回承诺的函数。 我正在监视query.get()方法以截获并返回在jasmine规范实现中创建的对象。但是,当间谍返回本地对象时,query.get options参数的成功路径不会执行。相反,待测试函数直接返回未解析的承诺,这不是我想要的。基本上,我想测试数据服务的成功路径(和错误路径) 代码如下: 待测试parse.com数据服务 角度模块('a

我正在尝试测试parse.com支持的数据服务,但到目前为止还没有找到令人满意的解决方案。基本上,我想用karma/jasmine来测试一个返回承诺的函数。 我正在监视query.get()方法以截获并返回在jasmine规范实现中创建的对象。但是,当间谍返回本地对象时,query.get options参数的成功路径不会执行。相反,待测试函数直接返回未解析的承诺,这不是我想要的。基本上,我想测试数据服务的成功路径(和错误路径)

代码如下:

  • 待测试parse.com数据服务
角度模块('app.services',[]) .factory('AppServices',function()){ var doFunction1=函数(){ var promise=new Parse.promise(); var ParseObjectClass=Parse.Object.extend('ParseObject'); var query=new Parse.query(ParseObjectClass); query.get('abc1234'{ 成功:功能(结果){ 承诺、决心(结果); }, 错误:函数(结果、错误){ 承诺。拒绝(错误); } }); 回报承诺; } 返回{ 函数1:doFunction1 }
});请阅读stackoverflow.com/questions/23803743/what-is-the-explicit-promise-construction-antipattern-and-how-do-i-avoid-itThanks了解该输入。我知道我可以简单地返回query.get()返回的承诺。事实上,在最初的函数成功路径中有更多的逻辑——出于简单的原因,我删除了它(在实际代码中,query.get返回的数据有一些准备工作,这就是为什么我要构造一个单独的承诺对象)。不管怎样,您都不需要构造一个单独的承诺对象——请再次阅读该问题。您只需在
中操作它,然后
。确定。在重新阅读了上面提到的帖子后,我得到了它。非常感谢:)