Ruby on Rails Tuesday, July 29, 2014

If there is a list devoted to ActiveRecord problems then I would appreciate a redirect.  In the absence of same I need some assistance with part of RoRs stack, namely ActiveRecord and the testing thereof.  I have a cli project which only uses AR-4.0 and whatever other stuff that gem pulls in. I am trialing the project witjh AR-4.1 and I am getting this error when I try to run my cucumber features:

     
undefined method `assertions' for #<String:0x00000003ba4688> (NoMethodError)
      /home/byrnejb/Projects/Software/theHeart/code/hll_th_cadex_xfer/libexec/bundler/ruby/2.1.0/gems/rspec-expectations-3.0.3/lib/rspec/matchers.rb:902:in `
method_missing'
      /home/byrnejb/Projects/Software/theHeart/code/hll_th_cadex_xfer/libexec/bundler/ruby/2.1.0/gems/minitest-5.4.0/lib/minitest/assertions.rb:126:in `assert'

     
/usr/lib64/ruby/2.1.0/test/unit/assertions.rb:36:in `assert'
      /home/byrnejb/Projects/Software/theHeart/code/hll_th_cadex_xfer/features/step_definitions/hll_dbms_steps.rb:15:in `
find_table_model_for'
      /home/byrnejb/Projects/Software/theHeart/code/hll_th_cadex_xfer/features/step_definitions/hll_dbms_steps.rb:30:in `block in <top (required)>'


I googled for this and found a couple of tangential references relating to a change in minitest. However, the fix appears to be somewhat dated and in any case this is not a full RoR stack so rspec-rails is not applicable.


https://stackoverflow.com/questions/16867707/rails-4-and-rspec-undefined-method-assertions-in-routing-spec

This problem is caused by a change in minitest 5.0 documented here:
# https://github.com/seattlerb/minitest/issues/286
is fixed by using: gem "rspec-rails", '~> 2.14.0.rc1'
in the gemfile.

Researching this further indicates that setting the version of minitest to ~> 4.0 would fix the problem but alas, AR-4.1 requires minitest-5.1 +

Bundler could not find compatible versions for gem "minitest":
 
In Gemfile:
    minitest
(~> 4.0) ruby

    hll_th_cadex_xfer
(>= 0) ruby depends on
      activerecord
(>= 0) ruby depends on
        activesupport
(= 4.1.4) ruby depends on
          minitest
(5.1.0)

Which raises the question as to why, exactly, using an ORM gem demands that one install a particular testing framework that one may have no other use for.   I do not use Rspec either but Aruba pulls that in and, as Aruba is a testing framework, I have to accept that.  But an ORM?

In any case, is there a way around this?

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/0a759618-1253-4698-8793-163d0d33921b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment