[rspec-users] Rake tasks getting in the way of edge (uses gem instead)
mailing_lists at railsnewbie.com
Sat Sep 8 16:10:56 EDT 2007
On Sep 4, 2007, at 3:55 PM, Pat Maddox wrote:
> So I'd been running gem releases of rspec for the past several months,
> and I installed edge rspec so that I can use Story Runner.
> I'm running into a problem because I've got a couple rake tasks that
> reference "spec/rake/raketask". If I try to run "rake spec" then it
> pulls in the gem version instead of the plugin version. rake blows up
> saying that the versions are incompatible...RSpec is at 1.0.8 and
> rspec_on_rails is at r2507.
> If I remove those rake tasks then it runs fine. So it just seems that
> when rake starts up, it loads all the available task files, which
> includes a reference to require rspec stuff. Since the plugins
> haven't been loaded yet it gets the gem version.
> afaik the solution is to build a new gem. However I don't want to
> have to tell my team members to update their gem every single day.
> Also I think including rspec in vendor/plugins is supposed to obviate
> that anyway, but this is probably just some path loading stuff.
> Anyone else run into this? How do you handle it?
If I understand you correctly, I think this will work in your rakefile:
$:.unshift File.dirname(__FILE__) + '/vendor/plugins/rspec/rspec/lib/'
Then you can do something like this (as per usual):
desc "Run all examples with RCov"
Spec::Rake::SpecTask.new(:rcov) do |t|
t.spec_files = FileList['spec/**/*.rb']
t.rcov = true
t.rcov_opts = ['--exclude', 'spec']
t.rcov_dir = "doc/rcov"
More information about the rspec-users