有人可以向我解释为什么我需要 Protractor 和 karma 。乍一看,我觉得他们在做同样的事情。我知道 Karma 用于单元测试,Protractor 用于 e2e 测试。

  • 两种类型的测试之间的主要区别是什么?
  • 为什么我们不为这两个目的使用相同的运行程序/框架?
  • 使用这两个框架有什么具体原因吗?

  • 我知道两者都可以使用(并且在大多数示例中使用)Jasmine 框架来描述测试。

    最佳答案

    根据定义,单元测试是孤立地测试单个代码单元。测试 Controller ,与它使用的服务隔离,或测试服务,与它发送请求的后端 REST 服务器隔离,是一个好主意,并且使测试非常快,但是拥有所有这些测试并不能保证,当一切都组装在一起并真正与后端对话时,应用程序会按预期运行。

    E2e 测试将应用程序作为一个整体进行测试。它们相当于人类测试人员坐在浏览器前并使用应用程序查看它是否按预期工作。 Protractor 是位于 Selenium 之上的一层,它允许以编程方式使用浏览器,即编写指令以单击链接、填写表单、提交表单,就像人类一样。

    关于javascript - Karma vs Protractor,单元测试 vs. e2e 测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49229847/

    10-09 20:06
    查看更多