我想测试真实的$http响应(不使用$httpBackend(并与我的mock service
进行比较,但我仍然不知道最佳实践是什么。这些是问题描述和我提出的解决方案:
问题描述
-
我正在创建一个完整的 Angular 应用程序和 API 服务器。
-
有时,API 开发比前端开发慢。因此,我创建了一个
mock service
,在请求实际发送到服务器之前注入$httpBackendProvider
并返回mock data
。此模块不使用$interceptor
。我认为它比$interceptor
技术更深入。效果很好。 -
我一直牢记测试,所以我遵循
karma
并protractor
。mock service
和real api
都可以很好地与protractor
测试配合使用。 -
PROBLEM
在 API 设计更改时开始。real api
protractor
会失败,但mock service
protractor
仍然是成功的。 -
因此,为了确定哪个 API 是错误的,我需要编写一个
real api
和mock service
之间的比较脚本。
提出解决方案
使用量角器测试并创建一个简单的 Web 服务器,如 DEV HTTP CLIENT Chrome addon
.
我想听听你们的更多意见。谢谢!
您应该先测试 api 服务。当服务器端测试中断(由于 api 更改(时,您应该更新该测试用例以及客户端测试用例。
确保具有用于 API 版本控制的解决方案,这在公开部署应用后至关重要。
至于开发目的,我喜欢使用 apiary.io 服务。这为您提供了一个功能性 API 模型 + 完整的文档,因此您可以将 API 委托给其他人(我的选择;)