wrong icon indicating copy to clipboard operation
wrong copied to clipboard

Rails 4.1/Rspec-rails 2.99 broken

Open zealot128 opened this issue 11 years ago • 1 comments

Using Rails 4.1 (maybe also 4.0) and Rspec-rails 2.99, the assert method does not work.

ArgumentError:
       wrong number of arguments (0 for 1..2)

I used this fix:

if RSpec.const_defined? :Rails
  require 'rails/version'
  if Rails::VERSION::MAJOR == 4
    module RSpec::Rails::MinitestAssertionAdapter::ClassMethods
      def define_assertion_delegators_with_removed
        define_assertion_delegators_without_removed
        class_eval do
          remove_method :assert
        end
      end
      alias_method_chain :define_assertion_delegators, :removed
    end
  end

in addition to the RAILS::VERSION::MAJOR == 3 part in https://github.com/sconover/wrong/blob/master/lib/wrong/adapters/rspec.rb#L7

Just changing the == 3 to >=3 did not work because:

gems/activesupport-4.1.0.beta1/lib/active_support/concern.rb:126:in `included': 
Cannot define multiple 'included' blocks for a Concern (ActiveSupport::Concern::MultipleIncludedBlocks)

This is, why I used the alias method chain.

zealot128 avatar Dec 30 '13 17:12 zealot128

+1, @zealot128 thanks for sharing this workaround - it's a lifesaver. For anyone who stumbles on this, it looks like a fix is in the works: https://github.com/sconover/wrong/pull/42 and will be merged in as soon as the maintainer has time.

topherhunt avatar Jan 14 '15 01:01 topherhunt