On 9/4/07, David Chelimsky <[EMAIL PROTECTED]> wrote:
> On 9/4/07, Pat Maddox <[EMAIL PROTECTED]> wrote:
> > On 9/4/07, David Chelimsky <[EMAIL PROTECTED]> wrote:
> > > On 9/4/07, Pat Maddox <[EMAIL PROTECTED]> 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?
> > >
> > > See http://rspec.rubyforge.org/documentation/rails/install.html
> >
> > I managed to fix it by changing the require to use the full path to the
> > plugin:
> >
> > require "vendor/plugins/rspec/lib/spec/rake/spectask"
>
> Ah - so you already had rspec installed as a plugin also? I didn't
> understand that part (clearly).
>
> Where is that require? I'll updated it in the plugin.
The require isn't part of the rspec code...one of the guys I work with
wrote the following rake task:
require "rake"
require "spec/rake/spectask"
desc "Run all specs and dump to html"
Spec::Rake::SpecTask.new('spec:html') do |t|
t.spec_opts = ["--format", "html"]
if ARGV.size > 1
t.out = ARGV[-1]
else
t.out = 'test.html'
end
t.fail_on_error = false
end
There might be another way to generate the HTML output with rake
automatically, I'm not sure...
Anyway I'm assuming it loads the gem version because the plugins
haven't been loaded yet and the rspec plugin isn't yet part of the
classpath.
Does that make sense?
Pat
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users