【问题标题】:Which URL to use when working with $httpBackend expectGET使用 $httpBackend expectGET 时使用哪个 URL
【发布时间】:2015-04-24 16:58:28
【问题描述】:
当我期望调用 API 时,我应该包含包含所有参数的整个 URL,还是只需要部分匹配?
我是否应该监听对确切 URL 的调用:
http://address.of.api/stuff/123?include=thing,anotherthing.name;
还是我只需要这个:
/stuff/123
【问题讨论】:
标签:
angularjs
unit-testing
jasmine
httpbackend
【解决方案1】:
$httpBackend 是 Angular 的 Mock 环境的一部分,旨在用假的后端替换真正的后端,或者更确切地说,通过模仿 Angular 的 $http 在没有真正后端的情况下如何工作。
尽管我很喜欢 Angular,但我发现 $httpBackend过度设计 并且它的功能过于复杂:
相反,它将对低级方法的任何引用隔离到您自己的专用方法中,这些方法的唯一职责是发出 http 请求。这些专用方法应该能够与真正的后端一起工作,而不是假的!
More details here on Angular testing