我应该使用Protractor或Karma进行端到端测试吗?

scr*_*key 122 angularjs protractor

我应该使用Protractor或Karma进行端到端测试吗?

Angular-seed使用Protractor/Selenium WebDriver进行E2E,但angular-phonecat教程使用业力.

我读到我应该使用Karma进行单元测试,使用Protractor进行E2E,看起来不错,但我想我会在这里要求得到其他开发者的意见.

gle*_*tre 178

AngularJS团队建议使用Protractor,因为它将取代角度场景运行器:

Angular Scenario Runner处于维护模式 - 如果您要启动新的Angular项目,请考虑使用Protractor.

引自AngularJs文档.

angular-phonecat教程是很久以前开发的(主要是2011年),还没有更新到使用像Protractor这样的Angular新功能.

编辑

Protractor Docs - FAQ中:

为什么Karma和Protractor?我什么时候使用哪个?

Karma是一个很好的单元测试工具,Protractor用于端到端或集成测试.这意味着应使用Karma运行对各个控制器,指令和服务的逻辑的小测试.应该使用Protractor运行您的整个应用程序的运行实例的大型测试.量角器旨在从用户的角度运行测试 - 如果您的测试可以记录为人类与您的应用程序交互的说明,那么它应该是使用Protractor编写的端到端测试.

这是一篇包含更多信息的精彩博文.

  • 来自Karma FAQ - http://karma-runner.github.io/0.10/intro/faq.html - 我可以使用Karma进行端到端测试吗?Karma主要用于低级(单元)测试.如果它是AngularJS应用程序,您可以将Karma与karma-ng-scenario插件一起使用,但我们建议使用Protractor进行高级测试. (11认同)
  • @SunilGarg是的,您必须这样做,也许我们的入门应用程序结构可以为您提供帮助:https://github.com/glepretre/angular-requirejs-ready(如果不使用,请忽略requireJS的详细信息) (2认同)