如何在 angularjs 中测试真实的$http数据



我想测试真实的$http响应(不使用$httpBackend(并与我的mock service进行比较,但我仍然不知道最佳实践是什么。这些是问题描述和我提出的解决方案:

问题描述

  1. 我正在创建一个完整的 Angular 应用程序和 API 服务器。

  2. 有时,API 开发比前端开发慢。因此,我创建了一个mock service,在请求实际发送到服务器之前注入$httpBackendProvider并返回mock data。此模块不使用$interceptor 。我认为它比$interceptor技术更深入。效果很好。

  3. 我一直牢记测试,所以我遵循karmaprotractormock servicereal api都可以很好地与protractor测试配合使用。

  4. PROBLEM在 API 设计更改时开始。real api protractor会失败,但mock service protractor仍然是成功的。

  5. 因此,为了确定哪个 API 是错误的,我需要编写一个 real apimock service 之间的比较脚本。

提出解决方案

使用量角器测试并创建一个简单的 Web 服务器,如 DEV HTTP CLIENT Chrome addon .

我想听听你们的更多意见。谢谢!

您应该先测试 api 服务。当服务器端测试中断(由于 api 更改(时,您应该更新该测试用例以及客户端测试用例。

确保具有用于 API 版本控制的解决方案,这在公开部署应用后至关重要。

至于开发目的,我喜欢使用 apiary.io 服务。这为您提供了一个功能性 API 模型 + 完整的文档,因此您可以将 API 委托给其他人(我的选择;)

最新更新