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.
This problem is caused by a change in minitest 5.0 documented here:
You can no longer `include Minitest::Assertions` · Issue #286 · minitest/minitest · GitHub
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?