Angularjs 单元测试与在SPA中模拟API的E2E测试
在效率和代码覆盖率方面,当您可以编写量角器e2e测试和模拟http请求、第三方API等时,为什么还要编写jasmine单元测试Angularjs 单元测试与在SPA中模拟API的E2E测试,angularjs,jasmine,protractor,karma-jasmine,Angularjs,Jasmine,Protractor,Karma Jasmine,在效率和代码覆盖率方面,当您可以编写量角器e2e测试和模拟http请求、第三方API等时,为什么还要编写jasmine单元测试 您可以做出与单元测试相同的特定断言,因为大多数断言对象都具有UI表示 您可以覆盖更大的流(如果我有一个运行指令的控制器,它运行另一个指令…) 这样可以节省时间。E2E测试的编写速度要快得多 因此,我认为使用模拟http请求的E2E测试更有价值,但大多数开发人员坚持编写单元测试 我在这里遗漏了什么?一些没有正确组织和结构的想法 需要进行单元测试和e2e测试。它们有不同的目
我在这里遗漏了什么?一些没有正确组织和结构的想法 需要进行单元测试和e2e测试。它们有不同的目的,在不同的范围内工作 下面是一篇关于e2e与单元测试视角下测试的真正价值的非常有趣的文章:它指出,理想情况下,您应该瞄准以下金字塔,主要关注单元和集成测试: 单元测试是轻量级的,旨在独立地检查系统的特定功能/组件-它们应该很快,并为您提供即时和非常具体的反馈-在代码中的哪一行发生错误,哪里出了问题 另一方面,端到端测试在更高的层次上工作——从用户的角度检查应用程序作为一个整体,所有活动部分一起工作。当e2e测试失败不能给你很多关于什么地方出了问题,什么原因导致了失败的信息时,这是很常见的 通常,单元测试由开发人员自己编写,而端到端测试由测试人员/QA专家编写 此外,还有很多关于这个主题的信息: