Created
April 2, 2010 18:31
-
-
Save agibralter/353514 to your computer and use it in GitHub Desktop.
Cucumber hooks for culerity + rvm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Before("@culerity,@celerity,@javascript") do |scenario| | |
unless @env_rvm_jruby | |
@env_rvm_jruby = {} | |
require 'yaml' | |
rvm_info = YAML::load(`bash -l -c 'source ~/.rvm/scripts/rvm; rvm jruby ; rvm info'`).values.first | |
rvm_info['environment'].each do |k, v| | |
@env_rvm_jruby[k] = v | |
end | |
@env_jruby_path = rvm_info['binaries']['ruby'].gsub(%r{^(.*)/ruby$}, '\1') | |
end | |
@env_defaults = {} | |
@env_rvm_jruby.each do |k, v| | |
@env_defaults[k] = ENV[k] | |
ENV[k] = v | |
end | |
@env_path = ENV['PATH'] | |
ENV['PATH'] = ENV['PATH'] + ":#{@env_jruby_path}" | |
end | |
After("@culerity,@celerity,@javascript") do |scenario| | |
@env_defaults.each do |k, v| | |
ENV[k] = v | |
end | |
ENV["PATH"] = @env_path | |
end |
Glad it was helpful!
Unfortunately I couldn't get Celerity to work with my JS so I ended up switching to selenium anyway :(
I've tested culerity as default_driver and works with my JS but the test are slower than using selenium and I've got errors with the GC.
Hmm yeah I thought a headless browser would be faster... but seems like the selenium_webdriver is pretty snappy for me.
Hi! again :)
I've found an easier solution thats works for me, only symlink jruby-1.4.0 to jruby and everything works without changing anything in the environment of rvm.
Look at this Javswcript testing with cucumber and capybara
With the latest RVM (1.0), line #5 should be changed to
rvm_info = YAML::load(`bash -l -c 'source ~/.rvm/scripts/rvm; rvm jruby ; rvm info'`).values.first
Updated. Thanks, David!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Works great!! Thanks