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 | ... | ... |