Skip to content

Instantly share code, notes, and snippets.

@nalabjp
Created March 28, 2017 02:20
Show Gist options
  • Save nalabjp/2c00558e63af83201a749616108caaf7 to your computer and use it in GitHub Desktop.
Save nalabjp/2c00558e63af83201a749616108caaf7 to your computer and use it in GitHub Desktop.
rails_version = ENV['R4'] ? '4.2.8' : '5.0.2'
def bundle_install(version)
gemfile = "./Gemfile-#{version}"
ENV.update('BUNDLE_GEMFILE' => gemfile)
unless File.exists?(gemfile)
File.write(gemfile, <<~GEMFILE)
source 'http://rubygems.org'
gem 'rails', "#{version}"
GEMFILE
system 'bundle install --path=vendor/bundle'
end
end
bundle_install(rails_version)
require 'bundler/setup'
require 'action_controller/railtie'
class TestApp < Rails::Application
config.root = File.dirname(__FILE__)
config.session_store :cookie_store, key: 'cookie_store_key'
secrets.secret_token = 'secret_token'
secrets.secret_key_base = 'secret_key_base'
config.logger = Logger.new($stdout)
Rails.logger = config.logger
routes.draw do
get '/' => 'test#index'
end
end
class TestController < ActionController::Base
include Rails.application.routes.url_helpers
ActiveSupport::Deprecation.silence do
before_filter :test_exception
skip_filter :test_exception, if: :test_condition?
end
def test_condition?
false
end
def test_exception
raise
end
def index
render plain: 'Home'
end
end
require 'minitest/autorun'
require 'rack/test'
class BugTest < Minitest::Test
include Rack::Test::Methods
def test_returns_success
get '/'
assert last_response.server_error?
end
private
def app
Rails.application
end
end
@nalabjp
Copy link
Author

nalabjp commented Mar 28, 2017

If we use skip_action_callback, we will get the same result.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment