`
wudixiaotie
  • 浏览: 138259 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

RAILS自动测试环境部署

 
阅读更多

gemfile

# source 'https://rubygems.org'
source 'http://ruby.taobao.org'
ruby '2.1.1'


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.1.7'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets
# gem 'sass-rails', '~> 4.0.3'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
# gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer',  platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails', '3.1.2'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks', '2.5.2'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
group :doc do
  gem 'sdoc', '0.4.0', require: false
end
group :development, :test do
  gem 'rspec-rails', '3.1.0'
  gem 'guard-rspec', '4.3.1'
  gem 'spork-rails', '4.0.0'
  gem 'guard-spork', github: "wudixiaotie/guard-spork"
  gem 'childprocess', '0.5.5'
  # Use debugger
  gem 'debugger', '1.6.8'
end

group :test do
  # gem 'selenium-webdriver', '2.44.0'
  gem 'poltergeist', '1.5.1'
  gem 'capybara', '2.4.4'
  gem 'minitest', '5.4.3'

  # Uncomment this line on OS X.
  # gem 'rspec-nc', '0.2.0'

  # Uncomment these lines on Linux.
  # gem 'libnotify', '0.8.4'

  # Uncomment these lines on Windows.
  # gem 'rb-notifu', '0.0.4'
  # gem 'win32console', '1.3.2'
  # gem 'wdm', '0.1.0'
end

 

 

2.

$ rails generate rspec:install
$ bundle exec guard init rspec

3.Guardfile中加入

require 'active_support/inflector'  

 

 4.

$ bundle exec spork --bootstrap

 5.将环境加载代码加入 Spork.prefork 代码块:spec/spec_helper.rb

require 'rubygems'
require 'spork'
#uncomment the following line to use spork with the debugger
#require 'spork/ext/ruby-debug'

Spork.prefork do
  # Loading more in this block will cause your tests to run faster. However,
  # if you change any configuration or code from libraries loaded here, you'll
  # need to restart spork for it take effect.

  ENV["RAILS_ENV"] ||= 'test'
  require File.expand_path("../../config/environment", __FILE__)
  require 'rspec/rails'
  # require 'rspec/autorun'

  # Requires supporting ruby files with custom matchers and macros, etc,
  # in spec/support/ and its subdirectories.
  Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
  
  # Checks for pending migrations before tests are run.
  # If you are not using ActiveRecord, you can remove this line.
  ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
  
  RSpec.configure do |config|
    # ## Mock Framework
    #
    # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
    #
    # config.mock_with :mocha
    # config.mock_with :flexmock
    # config.mock_with :rr
  
    # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
    config.fixture_path = "#{::Rails.root}/spec/fixtures"
  
    # If you're not using ActiveRecord, or you'd prefer not to run each of your
    # examples within a transaction, remove the following line or assign false
    # instead of true.
    config.use_transactional_fixtures = true
  
    # If true, the base class of anonymous controllers will be inferred
    # automatically. This will be the default behavior in future versions of
    # rspec-rails.
    config.infer_base_class_for_anonymous_controllers = false
  
    # Run specs in random order to surface order dependencies. If you find an
    # order dependency and want to debug it, you can fix the order by providing
    # the seed, which is printed after each run.
    #     --seed 1234
    config.order = "random"
    config.include Capybara::DSL
  end
end

Spork.each_run do
  # This code will be run each time you run your specs.

end

 6.Guard 和 Spork 协作

$ bundle exec guard init spork

 7.指定javascript driver为phantomjs取代selenium,在spec下建立support文件夹,里面添加文件capybara.rb

 

require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist

 8.修改完之后,我们就可以通过 guard 命令同时启动 Guard 和 Spork 了:)

 9.最后别忘了把test文件夹删掉,否则会启动test::uiit

 10.如果是mac 还要在.rspec里加入

--format Nc

 来启用系统默认的通知。。

0
0
分享到:
评论

相关推荐

    配置rails环境

    9. **了解Rails命令**:Rails提供了一系列的命令行工具,如`rails generate`(用于生成模型、控制器、迁移等),`rails console`(提供了一个交互式的Ruby环境,方便测试和调试),`rails dbconsole`(直接进入...

    Rails相关电子书汇总

    通过阅读"rubyonrails21-cn.pdf"这本书,读者可以学习如何搭建Rails环境,理解MVC架构,学习数据库设计,掌握路由规则,编写控制器和视图,进行测试,以及了解如何部署Rails应用。此外,书中可能还涵盖了Rails的安全...

    rails本地安装包完整版

    它允许开发者定义任务并用Ruby代码编写,使得项目构建、测试和部署更加自动化。 6. **rails-2.1.0.gem**:这是Rails框架的主要发行包,包含了所有其他组件的依赖和核心功能。Rails 2.1.0引入了许多新特性,例如活动...

    rails学习教程

    学习如何将Rails应用部署到生产环境,如Heroku或AWS,是开发过程中必不可少的一部分。了解配置数据库、管理环境变量以及优化性能的方法。 本“rails学习教程”PDF文档将涵盖以上所有内容,通过详尽的实例和解释,...

    Rails2.2.2之windows环境搭建

    13. **持续集成**:虽然不是必需的,但可以设置一个本地的持续集成(CI)环境,如Jenkins,来自动化构建、测试和部署流程。 最后,要记住,Rails 2.2.2已经相当过时,很多现代开发最佳实践和技术在新版本中得到了改进...

    ruby on rails 环境搭建

    在Ruby on Rails环境中,开发者可以创建、运行、测试和部署Web应用。RoR的便利性在于其“约定优于配置”的原则,使得许多常见的任务自动化,降低了开发复杂度。因此,正确搭建RoR环境是高效开发的关键。 总的来说,...

    ruby on rails 2.3.5 api html版

    11. **部署**:了解如何将Rails应用部署到服务器,如使用Capistrano自动化部署,或者配置Heroku、AWS等云平台。 通过阅读和查阅Rails 2.3.5的API文档,开发者不仅可以学习到如何在Rails环境中组织代码,还能掌握...

    Ruby on Rails Tutorial Learn Rails by Example 的源代码

    12. **部署**:学习如何将`sample_app`部署到如Heroku这样的云平台,是了解Rails生产环境配置的重要一环。 通过分析和实践`sample_app`的源代码,不仅可以深入理解Rails框架,还能学习到Web开发的最佳实践。记得...

    Apress - Practical Rails Projects (Oct 2007)

    此外,还会讲解如何部署Rails应用到服务器,如使用Capistrano进行自动化部署。 附带的源代码文件(Apress - Practical Rails Projects (SourceCode).7z)提供了书中实例项目的完整源代码,这将是你动手实践、加深...

    基于ruby on rails开发示例源码

    2. **Gemfile.lock**:记录项目的精确gem版本,确保在不同环境中部署时保持一致性。 3. **config/**:配置文件夹,包含数据库配置、路由设置(routes.rb)、应用配置等。 4. **db/**:数据库相关文件,如数据库...

    Beginning Rails 4

    - **持续集成/持续部署(CI/CD)**:自动化测试和部署流程。 #### 附录 A:数据库 101 对于没有数据库背景的读者来说,本附录提供了一个快速入门的指南,帮助他们理解数据库的基本概念和技术。 - **关系型数据库*...

    Ruby on Rails入门权威经典

    Rails还提供了丰富的内置功能,如测试框架Rspec和Capybara,用于编写自动化测试;以及Asset Pipeline,用于管理CSS、JavaScript和其他前端资源。书中会讲解如何构建和运行测试,确保应用的稳定性和质量。此外,还会...

    Agile Web Development with Rails 4th edition(敏捷Web开发与Rails:程序指南 第四版)

    5. **Rails Best Practices**: 书中还涵盖了Rails最佳实践,如测试驱动开发(TDD)、自动化部署、代码组织和安全策略,这些都是构建高质量、可维护的应用程序的关键。 6. **Rails 4 API Changes**: Rails 4在API上...

    Rails 3 in Action

    - 使用 Capistrano 等工具自动化部署过程。 - 监控应用性能和日志。 #### 十三、替代身份验证方法 第十五章探讨了 **替代身份验证方法**,例如社交登录等。 - **社交登录**: - 使用 Facebook、Google 等第三方...

    Ruby on Rails 4 Tutorial 中文版

    在部署方面,Rails 4支持Heroku、Capistrano等工具,让你能够轻松将应用上线到生产环境。此外,还会有关于安全性的讲解,如CSRF(Cross-site request forgery)防护和如何使用Devise进行用户认证。 总之,《Ruby on...

    ember-cli-rails-源码.rar

    通过深入分析`ember-cli-rails-源码.zip`,我们可以学习到如何在Rails项目中高效地构建、测试和部署Ember应用,理解这两个强大框架的协同工作原理,这对于提升前端开发的效率和质量具有重要意义。

    自动化生成支持cucumber,Rspec的Rails(持续更新中)

    此外,集成持续集成/持续部署(CI/CD)服务如Jenkins、Travis CI或GitHub Actions也常见于Rails项目中,以确保每次代码提交都能触发自动化测试。 在实际应用中,理解如何有效地结合Cucumber和RSpec对于提升Rails应用...

    inspinia admin - v2.5 Rails_Full_Version

    9. **Heroku或Capistrano部署**:学会如何将Rails应用部署到生产环境,如Heroku云平台或使用Capistrano进行自动化部署。 10. **Rails安全**:了解CSRF(跨站请求伪造)、XSS(跨站脚本攻击)等安全问题,以及Rails...

    NetBeans Ruby and Rails IDE with JRuby 2009

    - **使用Autotest**:自动测试框架,可以实时监控文件变化并自动运行测试。 - **调试应用**:使用调试工具逐步执行代码,检查变量值等。 - **运行调试器**:启动调试会话来深入分析程序的行为。 - **使用断点**:在...

    Ruby on Rails Web开发学习实录随书光盘(源代码).

    4. **Scaffold**:Rails提供的快速开发工具,可以自动生成CRUD(创建、读取、更新、删除)操作的基础代码,用于快速搭建基本的Web界面。 5. **Migrations**:Rails的数据迁移工具,用于管理数据库的结构变化,允许...

Global site tag (gtag.js) - Google Analytics