有人能解释一下为什么我需要同时使用Protractor和Karma吗?快速浏览看起来它们在做同样的事情。我知道Karma是用于单元测试,而Protractor是用于端到端测试。
- 这两种测试之间的主要区别是什么?
- 为什么我们不使用相同的运行器/框架来完成两种测试?
- 是否有特定的原因使用这两个框架?
我知道两者都可以使用(并且在大多数示例中使用)Jasmine框架来描述测试。
有人能解释一下为什么我需要同时使用Protractor和Karma吗?快速浏览看起来它们在做同样的事情。我知道Karma是用于单元测试,而Protractor是用于端到端测试。
我知道两者都可以使用(并且在大多数示例中使用)Jasmine框架来描述测试。
单元测试定义为在隔离环境下测试单个代码单元。例如,在不涉及控制器使用的服务的情况下测试控制器,或者在不涉及发送请求到后端REST服务器的服务的情况下测试服务是一个好主意,并且能够使测试非常快速,但是所有这些测试并不能保证当所有部件组装在一起并真正与后端交互时,应用程序就像预期的那样运行。
E2e测试会将整个应用程序进行测试,它们相当于人工测试员坐在浏览器前使用应用程序来检查其是否按预期工作。Protractor是基于Selenium的一层,它允许以编程方式使用浏览器,即编写指令以点击链接、填写表单和提交表单,就像人类操作一样。