使用SPA中的模拟API进行单元测试与E2E测试

时间:2015-11-09 16:04:23

标签: angularjs jasmine protractor karma-jasmine

在效率和代码方面,你为什么要编写量子器e2e测试并模拟出http请求,第三方API等,你会编写茉莉花单元测试吗?

  1. 您可以进行相同的特定断言,例如在单元测试中,因为大多数断言的对象都有UI表示。
  2. 你覆盖了更大的流量(如果我有一个运行指令的控制器,它运行另一个指令......)。
  3. 节省时间。编写E2E测试要快得多。
  4. 所以我看到使用模拟的http请求对E2E测试有更大的价值,但大多数开发人员都坚持编写单元测试。

    我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

一些没有妥善组织和结构化的想法..

需要进行单位和e2e测试。它们有不同的用途,在不同的范围内工作。

这是一篇非常有趣的文章,主题是e2e与单元测试视角中测试的真实价值:Just Say No to More End-to-End Tests指出,理想情况下,你应该针对下面的金字塔,主要关注单位和集成测试:

enter image description here

单元测试是轻量级的,旨在单独检查系统的特定功能/组件 - 它们应该很快并且给你一个即时且非常具体的反馈 - 代码中的哪一行发生错误,出了什么问题

另一方面,端到端测试在更高层次上工作 - 从用户的角度检查整个应用程序,所有移动部件协同工作。当e2e测试失败没有给出关于出错的地方,导致失败的地点和原因的信息时,它很常见。

通常,单元测试由开发人员自己编写,而端到端测试由测试人员/ QA专家编写。

此外,还有很多关于这个主题的信息: