Commit 463644c8827a6015d9a3669e64ff04683d9f1c3d
1 parent
28ddc152
Exists in
master
and in
4 other branches
rspec to capybara-webkit. simplercov now use cucumber
Showing
4 changed files
with
24 additions
and
40 deletions
Show diff stats
features/support/env.rb
| 1 | -# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril. | |
| 2 | -# It is recommended to regenerate this file in the future when you upgrade to a | |
| 3 | -# newer version of cucumber-rails. Consider adding your own code to a new file | |
| 4 | -# instead of editing this one. Cucumber will automatically load all features/**/*.rb | |
| 5 | -# files. | |
| 1 | +require 'simplecov' | |
| 2 | +SimpleCov.start 'rails' | |
| 6 | 3 | |
| 7 | 4 | require 'cucumber/rails' |
| 8 | 5 | require 'webmock/cucumber' |
| ... | ... | @@ -13,16 +10,12 @@ require Rails.root.join 'spec/factories' |
| 13 | 10 | require Rails.root.join 'spec/support/login' |
| 14 | 11 | require Rails.root.join 'spec/support/valid_commit' |
| 15 | 12 | |
| 16 | -# Capybara defaults to XPath selectors rather than Webrat's default of CSS3. In | |
| 17 | -# order to ease the transition to Capybara we set the default here. If you'd | |
| 18 | -# prefer to use XPath just remove this line and adjust any selectors in your | |
| 19 | -# steps to use the XPath syntax. | |
| 20 | 13 | Capybara.default_selector = :css |
| 21 | 14 | Capybara.javascript_driver = :webkit |
| 22 | 15 | |
| 23 | 16 | # By default, any exception happening in your Rails application will bubble up |
| 24 | -# to Cucumber so that your scenario will fail. This is a different from how | |
| 25 | -# your application behaves in the production environment, where an error page will | |
| 17 | +# to Cucumber so that your scenario will fail. This is a different from how | |
| 18 | +# your application behaves in the production environment, where an error page will | |
| 26 | 19 | # be rendered instead. |
| 27 | 20 | # |
| 28 | 21 | # Sometimes we want to override this default behaviour and allow Rails to rescue |
| ... | ... | @@ -45,22 +38,4 @@ rescue NameError |
| 45 | 38 | raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it." |
| 46 | 39 | end |
| 47 | 40 | |
| 48 | -# You may also want to configure DatabaseCleaner to use different strategies for certain features and scenarios. | |
| 49 | -# See the DatabaseCleaner documentation for details. Example: | |
| 50 | -# | |
| 51 | -# Before('@no-txn,@selenium,@culerity,@celerity,@javascript') do | |
| 52 | -# # { :except => [:widgets] } may not do what you expect here | |
| 53 | -# # as tCucumber::Rails::Database.javascript_strategy overrides | |
| 54 | -# # this setting. | |
| 55 | -# DatabaseCleaner.strategy = :truncation | |
| 56 | -# end | |
| 57 | -# | |
| 58 | -# Before('~@no-txn', '~@selenium', '~@culerity', '~@celerity', '~@javascript') do | |
| 59 | -# DatabaseCleaner.strategy = :transaction | |
| 60 | -# end | |
| 61 | -# | |
| 62 | - | |
| 63 | -# Possible values are :truncation and :transaction | |
| 64 | -# The :transaction strategy is faster, but might give you threading problems. | |
| 65 | -# See https://github.com/cucumber/cucumber-rails/blob/master/features/choose_javascript_database_strategy.feature | |
| 66 | 41 | Cucumber::Rails::Database.javascript_strategy = :truncation | ... | ... |
| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | +namespace :dev do | |
| 2 | + desc "DEV | Run cucumber and rspec" | |
| 3 | + task :tests do | |
| 4 | + ["cucumber", "rspec spec"].each do |cmd| | |
| 5 | + puts "Starting to run #{cmd}..." | |
| 6 | + system("bundle exec #{cmd}") | |
| 7 | + raise "#{cmd} failed!" unless $?.exitstatus == 0 | |
| 8 | + end | |
| 9 | + end | |
| 10 | +end | ... | ... |
spec/monkeypatch.rb
spec/spec_helper.rb
| ... | ... | @@ -17,21 +17,14 @@ require 'email_spec' |
| 17 | 17 | # in spec/support/ and its subdirectories. |
| 18 | 18 | Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} |
| 19 | 19 | |
| 20 | +# Use capybara-webkit | |
| 21 | +Capybara.javascript_driver = :webkit | |
| 22 | + | |
| 20 | 23 | RSpec.configure do |config| |
| 21 | - # == Mock Framework | |
| 22 | - # | |
| 23 | - # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line: | |
| 24 | - # | |
| 25 | - # config.mock_with :mocha | |
| 26 | - # config.mock_with :flexmock | |
| 27 | - # config.mock_with :rr | |
| 28 | 24 | config.mock_with :rspec |
| 29 | 25 | |
| 30 | 26 | config.include LoginMacros |
| 31 | 27 | |
| 32 | - # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures | |
| 33 | - config.fixture_path = "#{::Rails.root}/spec/fixtures" | |
| 34 | - | |
| 35 | 28 | # If you're not using ActiveRecord, or you'd prefer not to run each of your |
| 36 | 29 | # examples within a transaction, remove the following line or assign false |
| 37 | 30 | # instead of true. |
| ... | ... | @@ -52,6 +45,12 @@ RSpec.configure do |config| |
| 52 | 45 | DatabaseCleaner.start |
| 53 | 46 | |
| 54 | 47 | WebMock.disable_net_connect!(allow_localhost: true) |
| 48 | + | |
| 49 | + # !!! Observers disabled by default in tests | |
| 50 | + # | |
| 51 | + # Use next code to enable observers | |
| 52 | + # before(:each) { ActiveRecord::Base.observers.enable(:all) } | |
| 53 | + # | |
| 55 | 54 | ActiveRecord::Base.observers.disable :all |
| 56 | 55 | end |
| 57 | 56 | ... | ... |