javascript - 测试 Angular/Rails 应用程序的首选方法是什么?

标签 javascript ruby-on-rails ruby angularjs rspec

我有一些 Angular/Rails 应用程序,其中 Rails 部分只是 JSON API,所有前端工作都由 AngularJS 完成。我已经使用 RSpec 进行了模型/ Controller 测试,现在我想进行一些集成测试。早些时候我使用 RSpec 的请求测试(使用 Capybara、Selenium)来测试我的页面/JS,但是 Angular 经常由 Karma/Jasmine 测试,我不明白 Angular/Rails 应用程序首选哪种方式。请给我建议,也许你可以与我分享一些经验。谢谢。

最佳答案

首先,您应该明智地测试所有内容。我将从下面的链接中推荐一系列很棒的博客文章。

由于您已经熟悉 RSpec,请继续将其用于您的 Rails 测试,如模型、 Controller 、请求等。

对于 Angularjs 测试,karma 和 Jasmine 是不错的选择。但是 Rails 使用 Sprockets 进行 Assets 管理,因此配置 karma 可能有点棘手。对于 Rails 和 Jasmine,我写了一个 rake 任务。要运行 javascript 测试,您只需运行 rake karma:start。我在下面分享了要点的链接。

要点包含 2 个文件。你应该把它们:

  • karma.rake -> 库/任务
  • karma.unit.js -> spec/javascripts/

最后,您应该使用 Capybara 运行功能/验收测试。

Testing Series Intro

The Gist of Rake Task and Karma Configuration

关于javascript - 测试 Angular/Rails 应用程序的首选方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27356548/

相关文章:

Ruby 嵌套 If 语句的方式

javascript - 在 ASP.Net Core 上上传文件返回空 Request.Form.Files,仅在 React 上

ruby-on-rails - 什么应该从 Ruby on Rails 的公共(public)源代码控制中删除?

ruby-on-rails - devise_for :users error in Rails 4

ruby-on-rails - RSpec use_transactional_fixtures=false 不工作

ruby 正则表达式 : extract a list of urls from a string

javascript - 如何在仅允许数字和两个特殊字符的html输入中创建模式?

javascript - 如何在窗口中弹出?

javascript - RegExp 字母数字字符串 + 特殊字母

ruby-on-rails - 如何从本地时区获取时间/日期字符串到 UTC