对于我的端到端测试,我应该使用Protractor还是Karma?
Angular-seed在使用Protractor/Selenium WebDriver进行E2E测试,但angular-phonecat教程使用了Karma。
我阅读到应该使用Karma进行单元测试,使用Protractor进行E2E测试,这听起来不错,但我想在这里询问其他开发人员的意见。
对于我的端到端测试,我应该使用Protractor还是Karma?
Angular-seed在使用Protractor/Selenium WebDriver进行E2E测试,但angular-phonecat教程使用了Karma。
我阅读到应该使用Karma进行单元测试,使用Protractor进行E2E测试,这听起来不错,但我想在这里询问其他开发人员的意见。
AngularJS团队建议使用Protractor代替Angular Scenario Runner:
Angular Scenario Runner处于维护模式 - 如果您要启动一个新的Angular项目,请考虑使用Protractor。
引用自AngularJs文档。
angular-phonecat教程是很久以前(主要是2011年)开发的,并且尚未更新以使用一些Angular新功能,如Protractor。
编辑
为什么Karma和Protractor都需要?何时使用哪个?
Karma是一个很好的单元测试工具,而Protractor则用于端到端或集成测试。这意味着应该使用Karma来运行有关单个控制器、指令和服务逻辑的小型测试。对于整个应用程序的运行实例存在的大型测试,应该使用Protractor。Protractor旨在从用户的角度运行测试-如果您的测试可以被写成人与您的应用程序交互的指令,那么它应该是一个使用Protractor编写的端到端测试。
这里有一篇很棒的博客文章,包含更多信息。