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
来启用系统默认的通知。。
相关推荐
9. **了解Rails命令**:Rails提供了一系列的命令行工具,如`rails generate`(用于生成模型、控制器、迁移等),`rails console`(提供了一个交互式的Ruby环境,方便测试和调试),`rails dbconsole`(直接进入...
通过阅读"rubyonrails21-cn.pdf"这本书,读者可以学习如何搭建Rails环境,理解MVC架构,学习数据库设计,掌握路由规则,编写控制器和视图,进行测试,以及了解如何部署Rails应用。此外,书中可能还涵盖了Rails的安全...
它允许开发者定义任务并用Ruby代码编写,使得项目构建、测试和部署更加自动化。 6. **rails-2.1.0.gem**:这是Rails框架的主要发行包,包含了所有其他组件的依赖和核心功能。Rails 2.1.0引入了许多新特性,例如活动...
学习如何将Rails应用部署到生产环境,如Heroku或AWS,是开发过程中必不可少的一部分。了解配置数据库、管理环境变量以及优化性能的方法。 本“rails学习教程”PDF文档将涵盖以上所有内容,通过详尽的实例和解释,...
13. **持续集成**:虽然不是必需的,但可以设置一个本地的持续集成(CI)环境,如Jenkins,来自动化构建、测试和部署流程。 最后,要记住,Rails 2.2.2已经相当过时,很多现代开发最佳实践和技术在新版本中得到了改进...
在Ruby on Rails环境中,开发者可以创建、运行、测试和部署Web应用。RoR的便利性在于其“约定优于配置”的原则,使得许多常见的任务自动化,降低了开发复杂度。因此,正确搭建RoR环境是高效开发的关键。 总的来说,...
11. **部署**:了解如何将Rails应用部署到服务器,如使用Capistrano自动化部署,或者配置Heroku、AWS等云平台。 通过阅读和查阅Rails 2.3.5的API文档,开发者不仅可以学习到如何在Rails环境中组织代码,还能掌握...
12. **部署**:学习如何将`sample_app`部署到如Heroku这样的云平台,是了解Rails生产环境配置的重要一环。 通过分析和实践`sample_app`的源代码,不仅可以深入理解Rails框架,还能学习到Web开发的最佳实践。记得...
此外,还会讲解如何部署Rails应用到服务器,如使用Capistrano进行自动化部署。 附带的源代码文件(Apress - Practical Rails Projects (SourceCode).7z)提供了书中实例项目的完整源代码,这将是你动手实践、加深...
2. **Gemfile.lock**:记录项目的精确gem版本,确保在不同环境中部署时保持一致性。 3. **config/**:配置文件夹,包含数据库配置、路由设置(routes.rb)、应用配置等。 4. **db/**:数据库相关文件,如数据库...
- **持续集成/持续部署(CI/CD)**:自动化测试和部署流程。 #### 附录 A:数据库 101 对于没有数据库背景的读者来说,本附录提供了一个快速入门的指南,帮助他们理解数据库的基本概念和技术。 - **关系型数据库*...
5. **Rails Best Practices**: 书中还涵盖了Rails最佳实践,如测试驱动开发(TDD)、自动化部署、代码组织和安全策略,这些都是构建高质量、可维护的应用程序的关键。 6. **Rails 4 API Changes**: Rails 4在API上...
Rails还提供了丰富的内置功能,如测试框架Rspec和Capybara,用于编写自动化测试;以及Asset Pipeline,用于管理CSS、JavaScript和其他前端资源。书中会讲解如何构建和运行测试,确保应用的稳定性和质量。此外,还会...
- 使用 Capistrano 等工具自动化部署过程。 - 监控应用性能和日志。 #### 十三、替代身份验证方法 第十五章探讨了 **替代身份验证方法**,例如社交登录等。 - **社交登录**: - 使用 Facebook、Google 等第三方...
在部署方面,Rails 4支持Heroku、Capistrano等工具,让你能够轻松将应用上线到生产环境。此外,还会有关于安全性的讲解,如CSRF(Cross-site request forgery)防护和如何使用Devise进行用户认证。 总之,《Ruby on...
通过深入分析`ember-cli-rails-源码.zip`,我们可以学习到如何在Rails项目中高效地构建、测试和部署Ember应用,理解这两个强大框架的协同工作原理,这对于提升前端开发的效率和质量具有重要意义。
此外,集成持续集成/持续部署(CI/CD)服务如Jenkins、Travis CI或GitHub Actions也常见于Rails项目中,以确保每次代码提交都能触发自动化测试。 在实际应用中,理解如何有效地结合Cucumber和RSpec对于提升Rails应用...
9. **Heroku或Capistrano部署**:学会如何将Rails应用部署到生产环境,如Heroku云平台或使用Capistrano进行自动化部署。 10. **Rails安全**:了解CSRF(跨站请求伪造)、XSS(跨站脚本攻击)等安全问题,以及Rails...
- **使用Autotest**:自动测试框架,可以实时监控文件变化并自动运行测试。 - **调试应用**:使用调试工具逐步执行代码,检查变量值等。 - **运行调试器**:启动调试会话来深入分析程序的行为。 - **使用断点**:在...
4. **Scaffold**:Rails提供的快速开发工具,可以自动生成CRUD(创建、读取、更新、删除)操作的基础代码,用于快速搭建基本的Web界面。 5. **Migrations**:Rails的数据迁移工具,用于管理数据库的结构变化,允许...