diff --git a/rubygem/lib/zeus/rails.rb b/rubygem/lib/zeus/rails.rb index dc7accb5..88fa2265 100644 --- a/rubygem/lib/zeus/rails.rb +++ b/rubygem/lib/zeus/rails.rb @@ -191,7 +191,11 @@ def test_helper if ENV['RAILS_TEST_HELPER'] require ENV['RAILS_TEST_HELPER'] else - if File.exists?(ROOT_PATH + "/spec/spec_helper.rb") + if File.exists?(ROOT_PATH + "/spec/rails_helper.rb") + # RSpec >= 3.0+ + require 'rails_helper' + elsif File.exists?(ROOT_PATH + "/spec/spec_helper.rb") + # RSpec < 3.0 require 'spec_helper' elsif File.exists?(ROOT_PATH + "/test/minitest_helper.rb") require 'minitest_helper' diff --git a/rubygem/spec/rails_spec.rb b/rubygem/spec/rails_spec.rb index fbc374b9..b8fa098f 100644 --- a/rubygem/spec/rails_spec.rb +++ b/rubygem/spec/rails_spec.rb @@ -17,7 +17,16 @@ module Zeus ENV.clear end + it "requires rails_helper when using rspec 3.0+" do + mock_file_existence(ROOT_PATH + "/spec/rails_helper.rb", true) + + rails.should_receive(:require).with("rails_helper") + + rails.test_helper + end + it "when spec_helper exists spec_helper is required" do + mock_file_existence(ROOT_PATH + "/spec/rails_helper.rb", false) mock_file_existence(ROOT_PATH + "/spec/spec_helper.rb", true) rails.should_receive(:require).with("spec_helper") @@ -26,6 +35,7 @@ module Zeus end it "when minitest_helper exists minitest_helper is required" do + mock_file_existence(ROOT_PATH + "/spec/rails_helper.rb", false) mock_file_existence(ROOT_PATH + "/spec/spec_helper.rb", false) mock_file_existence(ROOT_PATH + "/test/minitest_helper.rb", true) @@ -34,7 +44,8 @@ module Zeus rails.test_helper end - it "when there is no spec_helper or minitest_helper, test_helper is required" do + it "when there is no rspec helpers or minitest_helper, test_helper is required" do + mock_file_existence(ROOT_PATH + "/spec/rails_helper.rb", false) mock_file_existence(ROOT_PATH + "/spec/spec_helper.rb", false) mock_file_existence(ROOT_PATH + "/test/minitest_helper.rb", false)