1

当期望调用 API 时,我应该包含包含所有参数的整个 URL,还是只需要部分匹配?

我是否应该收听对确切 URL 的调用:

http://address.of.api/stuff/123?include=thing,anotherthing.name;

还是我只需要这个:

/stuff/123

4

1 回答 1

1

$httpBackend是 Angular 的 Mock 环境的一部分,旨在用假的后端代替真正的后端,或者更确切地说,通过模仿Angular 在$http没有真正后端的情况下的工作方式。

尽管我很喜欢 Angular,但我发现它的功能$httpBackend 过度设计且不必要地复杂:

  • 推荐在测试中抛出复杂代码的方法。你做的越多,你就越有可能在测试代码中创建错误,而不是你实际应该测试的代码。

  • 它促进了在代码周围自由放置$http(或抽象层次结构中的其他低级服务)的不良做法,因为您以后可以使用它$httpBackend来模拟它。

相反,它将对低级方法的任何引用隔离到您自己的专用方法中,其唯一职责是发出 http 请求。这些专用方法应该能够与真正的后端一起工作,而不是假的!

有关 Angular 测试的更多详细信息

于 2015-04-27T01:18:17.263 回答