首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角E2E测试数据: ngMockE2E还是测试数据服务器?

角E2E测试数据: ngMockE2E还是测试数据服务器?
EN

Stack Overflow用户
提问于 2013-10-29 13:48:52
回答 1查看 886关注 0票数 2

我正在开发一个角应用程序(角1.1.5)。我需要一些方法来模拟REST对e2e测试的响应。

AngularJS (Green & Seshadri)详细介绍了用$httpBackend测试HTTP请求的单元,但是对于e2e测试几乎没有什么可说的。

文档建议使用模块模拟$httpBackend (这与正常的单元测试$httpBackend模拟不同)。

我花了几个小时研究ngMockE2EAPI,虽然我看到了一些好处,但似乎有很多缺点。我的问题是:

与提供测试响应的简单服务器相比,ngMockE2E 的优点是什么?或者更一般的是测试角型应用程序与服务器交互的最佳方法是什么?

我能想到一些缺点:

  • 我需要改变我的HTML,用不同的角度模块引导应用程序(一个依赖于ngMockE2E和实际应用程序模块的新模块)
  • 没有用于检查Firebug/Developer工具的HTTP请求。这对我来说是个大案子。最后,我在模拟后端编写了请求/响应日志方法。我想大多数模拟后端都包含这种代码。
  • 从URL中提取参数不是一种简单的方法。如果我想从/resource/:id获得id参数,我需要给出一个正则表达式来匹配URL (\/resource\/.+$),然后在斜杠上拆分匹配的URL字符串并选择最后一个元素。
  • API很笨重。返回静态对象很简单,但是根据请求的URL动态地确定要返回的测试对象是很困难的。有些应用程序可能可以硬编码一套完整的测试URL,但我需要测试大量的资源,所以这对我来说是不切实际的。更复杂的代码意味着有更多的错误。

我也能想到一些好处。使用ngMockE2E

  • 我不需要告诉我的应用程序测试API在哪里- $httpBackend将检查所有的HTTP请求是否匹配。
  • 我根本不需要运行网络服务器。
  • 我不需要重新启动服务器来获取对测试数据的更改。
  • 测试中的整体组件较少。然而,考虑到这是一个集成测试,这并不是一个巨大的好处。

对思想和经验很感兴趣。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-19 21:41:47

我的结论,几周后的开发:我发现一个简单的虚拟后端(Node/Express)比e2e测试模拟后端更加灵活和可维护。最引人注目的原因是正确的URL模式匹配和真正的用于浏览器调试的HTTP请求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19660033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档