angularjs – 何时在茉莉花中使用间谍vs $httpBackend

前端之家收集整理的这篇文章主要介绍了angularjs – 何时在茉莉花中使用间谍vs $httpBackend前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写Jasmine代码来测试一些Restangular逻辑.我想测试我的’Foo’对象已被Restangulraized,以便foo.getList()方法调用GET / foo并返回结果

我可以用两种方式测试这个.我可以在foo.getList()上添加一个.spy并让它返回预期的结果.或者我可以使用$HttpBackend.whenGET(“/ foo”)并在那里设置我的预期结果.

其中一个被认为是更可取的吗?

我认为HTTPBackend是更好的选择,因为它在逻辑流程中“稍后”测试.如果我使用间谍,我无法证明,例如,我的Restangularize没有搞砸,并试图解决一个不同的URL.

然而,我正在看继承的测试,他们都使用间谍,因为我认为编写这段代码的人比我好(他们不能比我在Angular更新手)它让我想知道是否有使用间谍超过$httpBackend的优势.

解决方法

在测试foo.getList()时,请使用httpBackend.一旦测试了仅使用foo.getList()的函数,就使用间谍.这是避免测试重复的最简单的解决方案.

请注意,您正在编写单元测试.每个单位应独立于其他单位.

猜你在找的Angularjs相关文章