当期望调用 API 时,我应该包含包含所有参数的整个 URL,还是只需要部分匹配?
我是否应该收听对确切 URL 的调用:
http://address.of.api/stuff/123?include=thing,anotherthing.name;
还是我只需要这个:
/stuff/123
当期望调用 API 时,我应该包含包含所有参数的整个 URL,还是只需要部分匹配?
我是否应该收听对确切 URL 的调用:
http://address.of.api/stuff/123?include=thing,anotherthing.name;
还是我只需要这个:
/stuff/123
$httpBackend
是 Angular 的 Mock 环境的一部分,旨在用假的后端代替真正的后端,或者更确切地说,通过模仿Angular 在$http
没有真正后端的情况下的工作方式。
尽管我很喜欢 Angular,但我发现它的功能$httpBackend
过度设计且不必要地复杂:
不推荐在测试中抛出复杂代码的方法。你做的越多,你就越有可能在测试代码中创建错误,而不是你实际应该测试的代码。
它促进了在代码周围自由放置$http
(或抽象层次结构中的其他低级服务)的不良做法,因为您以后可以使用它$httpBackend
来模拟它。
相反,它将对低级方法的任何引用隔离到您自己的专用方法中,其唯一职责是发出 http 请求。这些专用方法应该能够与真正的后端一起工作,而不是假的!