AngularJS测试:Yeoman App中的量角器,Karma,Jasmine

And*_*iga 19 jasmine karma-runner protractor e2e-testing

我使用这个yeoman生成器:https: //github.com/Swiip/generator-gulp-angular

它安装了三个测试应用程序:Jasmine,Karma,Protractor根据这篇文章(我应该使用Protractor或Karma进行端到端测试吗?),我应该使用:Karma用于例如单个控制器的小测试.Protactor如果我想测试整个应用程序并模拟用户浏览我的应用程序.根据这篇博客(http://andyshora.com/unit-testing-best-practices-angularjs.html),我将使用Jasmine进行单元测试,使用Karma进行端到端集成测试.

我猜Jasmine是编写测试的语言,另外两个执行代码,这是正确的吗?另外,如果我从未写过一个更重要的是先学习/专注的测试?

Bor*_*ier 46

Karma是一名测试运行员,因此它可以运行您的测试. Jasmine是让你编写测试的框架

在我看来Angularjs你:

  • 必须单元测试服务,因为您的业务代码在那里.
  • 应该单元测试控制器,因为用户操作在那里.
  • 可以对自定义指令进行单元测试(如果您打算与其他人共享该指令,则必须使用)

量角器用于E2E测试(像真实用户一样测试导航).它结合了WebDriverJS和Jasmine,允许您使用Jasmine语法编写端到端测试(您模拟真实的浏览器并采取实际操作).

这种测试在Web应用程序中也非常重要.

您不应该测试所有内容,特别是在项目开始时,这些类型的测试通常需要高水平的维护(即,当您更换屏幕时,您可能需要更改测试).

我所做的是测试关键路径和功能.我做了一个阅读应用程序,所以在我的情况下,它是登录,注册,支付,访问书和访问阅读器.