Rails-Carrot部分参考Capybara,支持原生的测试Gem驱动,主要是供喜欢用Celerity或者原生浏览器测试Driver。
支持远程,本地,本地外部ruby运行服务器 进行集成测试。
插件地址: http://github.com/sloanwu/carrot
简要介绍,以集成Celerity(需要使用JRuby)为例
You can use carrot with celerity, or another driver.
1. Rails Gemfile
gem 'rails-carrot', :require => 'carrot'
2. add a celerity_helper
/spec/celerity_helper.rb
3. Add some code in celerity_helper
require 'database_cleaner'
require 'celerity' # You can change driver
require 'carrot'
ENV["RAILS_ENV"] = 'celerity' # You can change it with your environment.
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
4. Three test styles
If you don't use JRuby, you just can use Remote and Local.
a) Remote
Carrot.configure do |config|
config.run_server = false
config.app_host = "www.google.com"
end
Carrot.register_driver(Celerity::Browser.new)
b) Local
Carrot.configure do |config|
config.run_server = true
end
Carrot.register_driver(Celerity::Browser.new)
c) Local, server with external ruby, You should use jruby to run RSpec.
Carrot.configure do |config|
config.run_server = true
config.external_ruby = true
config.rails_command = "~/.rvm/gems/ruby-1.9.2-p0/bin/rails s -e celerity -p 3001"
config.project_path = "#{Rails.root}"
config.server_port = 3001
# config.server_debug = true
end
Carrot.register_driver(Celerity::Browser.new)
RSpec.configure do |config|
DatabaseCleaner.strategy = :truncation
config.before :each do
@browser = Carrot.driver # get native driver
DatabaseCleaner.clean
end
config.after :all do
DatabaseCleaner.clean
end
config.use_transactional_fixtures = false
end
5 Test
a) get url
Carrot.url(path)
eg:
Carrot.url('/') => http://host/
Carrot.url('/hello') => http://host/hello
b) get native browser driver
Carrot.driver
6 FAQ
a) Does Carrot support server with external ruby?
Yes, but it just supports jruby run rspec and run server using external ruby. I use jruby to create native java process to run server using external ruby.
If you want to use ruby to run rspec and run server using external ruby, you can create a new server class to support it or wait for my upgrade.
分享到:
相关推荐
标题 "rails-documentation-1-2-1.zip" 暗示这是一份关于 Ruby on Rails 框架的文档,版本为 1.2.1。Ruby 是一种面向对象的编程语言,而 Rails 是一个基于 Ruby 的开源 Web 应用程序框架,遵循 Model-View-...
6. **测试(Testing)**:Rails内置了全面的测试支持,包括单元测试(unit tests)、集成测试(integration tests)和功能测试(feature tests)。TDD(Test-Driven Development)和BDD(Behavior-Driven ...
rails-documentation-2-0-2
rails-documentation-1-2-0-rc1.chm
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Rails是Ruby on Rails的简称,它是一个基于Ruby语言的开源Web应用框架,而DSL则是用于简化数据库操作的语言特性。在Rails中,数据库DSL使得开发者可以更直观、简洁地编写数据库查询。 首先,让我们深入了解Rails中...
Rails是一个流行的Ruby编程语言的Web应用框架,以其MVC(模型-视图-控制器)架构模式和DRY(Don't Repeat Yourself)原则而闻名。在Rails应用中,用户认证和授权是常见的需求,用于保护应用资源的安全。...
- RSpec:一种流行的Rails测试框架,用于行为驱动开发。 - MiniTest:内置的测试库,包括unit测试和functional测试。 6. **Rails开发工具**: - Bundler:管理Gem依赖,确保项目依赖的一致性。 - Rails Console...
jquery-fileupload-rails, 用于 Rails的jQuery文件上传集成 Rails 文件上传jQuery-File-Plugin 是一个文件上传插件,由的Tschan 。 jQuery文件上传功能多文件选择。drag&拖放支持。进度栏和jQuery预览图像。 支持...
Cucumber-Rails集成了Cucumber与Rails,使得开发者能够在Rails环境中方便地使用Cucumber进行功能测试。 在 Rails 应用中使用 Cucumber-Rails,开发者可以创建一个名为`features`的目录,里面包含这些Gherkin特性...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
minitest-rails, Rails的Minitest集成 minitestRails 5的Minitest集成 安装gem install minitest-rails这将安装以下宝石:minitest配置创建一个新的Rail
与稳定的Rails版本相比,Edge Rails可能包含未经过充分测试的新功能,因此对于开发环境而言,它提供了更多的探索和试验空间。使用Edge Rails的插件,如CRUD Generator 2,可以让你提前体验并利用到Rails的前沿技术。...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
guardrails-engine-output-schema-validator --help Usage: guardrails-engine-output-schema-validator [options] Options: -V, --version output the version number -s, --stdin Read from stdin -f, --file...
webpack-rails, 将 web pack与你的Ruby on Rails 应用程序集成 不再维护webpack-rails 不再被维护。 有关详细信息,请参阅 #90. web pack-railsweb pack 为你提供了将 web pack集成到现有的Ruby on Rails 应用程序中...
如果你想要一个新版本运行 $ rake update 并提交拉取请求 安装 将此行添加到应用程序的 Gemfile 中: gem 'ember_simple_auth-rails' 然后执行: $ bundle 或者自己安装: $ gem install ember_simple_auth-...
这一章节将教授如何使用Rails的测试框架进行单元测试、集成测试和功能测试。同时,也会介绍如何对应用进行基准测试,评估其性能表现。 #### 12. Deployment and Production Use(部署和生产使用) 最后,本书将...
rails-hackernews-reddit-producthunt-clone, 黑客 news/reddit/social 链接分享网站 用 Rails 构建 Rails 上的 Reddit-Hackernews-ProductHunt克隆演示 这是一个 readme.md的Ruby on Rails 应用程序,模仿了 Hacker...