[rspec-users] How do I isolation test against different gem versions?
Rick DeNatale
rick.denatale at gmail.com
Sun May 23 12:54:13 EDT 2010
On Sun, May 23, 2010 at 11:41 AM, Brian Cardarella
<bcardarella at gmail.com> wrote:
> I would like to support both ActiveRecord 2.x and ActiveModel 3.x for
> a given library. It is not clear to me how to write tests for this. If
> I require 'active_record' then all of the dependencies are also loaded
> and are now in the load path as well as the Gem loaded list.
> Considering that AR and AM share dependencies but of different
> versions conflicts occur.
>
> Is this possible? The difference in code is not enough to warrant
> breaking into separate gems.
I do something similar for RiCal, which works using either
activesupport or the tzinfo gem. I've set up rake tasks to run the
specs with either one.
What I do is to have an auxiliary ruby file to do the right require
which the spec task invokes via the -r option.
You should be able to do something similar by having the auxiliary
files use the gem directive to specify a particular version of
active_record.
Have a look at http://github.com/rubyredrick/ri_cal/tree/master/tasks/
Particularly spec.rake and the files in the gem_loader sub directory.
HTH
--
Rick DeNatale
Blog: http://talklikeaduck.denhaven2.com/
Github: http://github.com/rubyredrick
Twitter: @RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale
More information about the rspec-users
mailing list