-
Notifications
You must be signed in to change notification settings - Fork 0
sloanwu/carrot
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
You can use carrot with celerity, or another driver. 1. 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.
About
Integrate rspec with native browser driver for rails integration test.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published