Hi I am struggling to run my integration/feature tests via the Ci, please do let me know what am I doing wrong here.
Running specs locally works without any issues
- the gitlab CI setup :
`
image: ruby:2.3.0
cache:
paths:
- .bundle
- vendor/
stages:
- test
- integration
- codecov
before_script:
- export COMPILE=0
- export PHANTOM_JS=phantomjs-2.1.1-linux-x86_64
- export RAILS_ENV=test
- gem install bundler
- bundle install --path vendor/
- mkdir ~/tmp
- pushd ~/tmp
- wget --max-redirect=40 http://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2
- tar xf $PHANTOM_JS.tar.bz2
- mv $PHANTOM_JS phantomjs
- ln -s ~/tmp/phantomjs/bin/phantomjs /usr/bin/phantomjs
- phantomjs --version
- popd
rspec:
stage: test
services:
- postgres:latest
- redis:latest
variables:
POSTGRES_DB: package_analysis_test
POSTGRES_USER: runner
POSTGRES_PASSWORD: runner
script:
- apt-get update -qq && apt-get install -y -qq nodejs postgresql-client libpq-dev
- gem install bundler --no-ri --no-rdoc
- cp config/_database.yml config/database.yml
- cp config/_redis.yml config/redis.yml
- cp config/_sidekiq.yml config/sidekiq.yml
- cp config/_settings.yml config/settings.yml
- bundle exec rake db:drop RAILS_ENV=test
- bundle exec rake db:create RAILS_ENV=test
- bundle exec rake db:schema:load RAILS_ENV=test
- bundle exec rake db:structure:load RAILS_ENV=test
- bundle exec rake db:seed RAILS_ENV=test
- bundle exec rake assets:precompile RAILS_ENV=test
- bundle exec rspec --exclude-pattern spec/features/*_spec.rb
artifacts:
paths:
- coverage/
rspec-integration:
stage: integration
services:
- postgres:latest
- redis:latest
variables:
POSTGRES_DB: package_analysis_test
POSTGRES_USER: runner
POSTGRES_PASSWORD: runner
script:
- apt-get update -qq && apt-get install -y -qq nodejs postgresql-client libpq-dev
- gem install bundler --no-ri --no-rdoc
- cp config/_database.yml config/database.yml
- cp config/_redis.yml config/redis.yml
- cp config/_sidekiq.yml config/sidekiq.yml
- cp config/_settings.yml config/settings.yml
- bundle exec rake db:drop RAILS_ENV=test
- bundle exec rake db:create RAILS_ENV=test
- bundle exec rake db:schema:load RAILS_ENV=test
- bundle exec rake db:structure:load RAILS_ENV=test
- bundle exec rake db:seed RAILS_ENV=test
- bundle exec rake assets:precompile RAILS_ENV=test
- bundle exec rspec spec/features
pages:
stage: codecov
dependencies:
- rspec
script:
- mv coverage/ public/
artifacts:
paths:
- public
expire_in: 30 days
only:
- staging
-
The failed stage error :
1) User processes late orders entering late orders #index Failure/Error: raise ActionController::RoutingError, "No route matches [#{env['REQUEST_METHOD']}] # {env['PATH_INFO'].inspect}" ActionController::RoutingError: No route matches [GET] "/assets/application.css" # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/web-console- 2.0.0/lib/action_dispatch/debug_exceptions.rb:22:in `middleware_call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/web-console- 2.0.0/lib/action_dispatch/debug_exceptions.rb:13:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/actionpack- 4.2.5/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/railties-4.2.5/lib/rails/rack/logger.rb:38:in `call_app' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/railties-4.2.5/lib/rails/rack/logger.rb:20:in `block i n call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/activesupport- 4.2.5/lib/active_support/tagged_logging.rb:68:in `block in tagged' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/activesupport- 4.2.5/lib/active_support/tagged_logging.rb:26:in `tagged' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/activesupport- 4.2.5/lib/active_support/tagged_logging.rb:68:in `tagged' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/railties-4.2.5/lib/rails/rack/logger.rb:20:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/request_store- 1.2.1/lib/request_store/middleware.rb:8:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/actionpack- 4.2.5/lib/action_dispatch/middleware/request_id.rb:21:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/rack-1.6.8/lib/rack/methodoverride.rb:22:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/rack-1.6.8/lib/rack/runtime.rb:18:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/activesupport- 4.2.5/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/rack-1.6.8/lib/rack/lock.rb:17:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/actionpack- 4.2.5/lib/action_dispatch/middleware/static.rb:116:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/rack-1.6.8/lib/rack/sendfile.rb:113:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/rack-mini-profiler- 0.10.5/lib/mini_profiler/profiler.rb:171:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/railties-4.2.5/lib/rails/engine.rb:518:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/railties-4.2.5/lib/rails/application.rb:165:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/rack-1.6.8/lib/rack/urlmap.rb:66:in `block in call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/rack-1.6.8/lib/rack/urlmap.rb:50:in `each' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/rack-1.6.8/lib/rack/urlmap.rb:50:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/capybara-2.16.1/lib/capybara/server.rb:44:in `call' # /builds/justcode/packageanalysis/vendor/ruby/2.3.0/gems/rack-1.6.8/lib/rack/handler/webrick.rb:88:in `service' # /usr/local/lib/ruby/2.3.0/webrick/httpserver.rb:140:in `service' # /usr/local/lib/ruby/2.3.0/webrick/httpserver.rb:96:in `run' # /usr/local/lib/ruby/2.3.0/webrick/server.rb:296:in `block in start_thread' # # Showing full backtrace because every line was filtered out. # See docs for RSpec::Configuration#backtrace_exclusion_patterns and # RSpec::Configuration#backtrace_inclusion_patterns for more information. # ------------------ # --- Caused by: --- # Capybara::CapybaraError: # Your application server raised an error - It has been raised in your test code because Capybara.raise_server_errors == true # ./spec/features/late_order_process_spec.rb:8:in `block (2 levels) in <top (required)>' Finished in 5.18 seconds (files took 9.65 seconds to load) 1 example, 1 failure Failed examples: rspec ./spec/features/late_order_process_spec.rb:5 # User processes late orders entering late orders #index Coverage report generated for RSpec to /builds/justcode/packageanalysis/coverage. 85239 / 185989 LOC (45.83%) covered. section_end:1513003423:build_script`