Hello all,
I'm trying to invoke rake from within one of my Unit Test files to setup a
test database before running tests and I'm having some trouble doing so. I
try the following code in a file that is located in the same directory as my
Rakefile:
rake = Rake::Application.new
rake['foo:bar:load'].invoke
and I get the following:
RuntimeError: Don't know how to build task 'foo:bar:load'
However, if I run rake from the command line in this same directory passing
it the foo:bar:load task it works fine. Any suggestions?
Thanks! -- BTR
Did you require the rakefile in you code? rake does so automatically.
Thanks,
Gordon
···
On Jan 17, 2008 10:14 PM, Bryan Richardson <btricha@gmail.com> wrote:
Hello all,
I'm trying to invoke rake from within one of my Unit Test files to setup a
test database before running tests and I'm having some trouble doing so. I
try the following code in a file that is located in the same directory as my
Rakefile:
rake = Rake::Application.new
rake['foo:bar:load'].invoke
and I get the following:
RuntimeError: Don't know how to build task 'foo:bar:load'
However, if I run rake from the command line in this same directory passing
it the foo:bar:load task it works fine. Any suggestions?
Thanks! -- BTR
Did you require the rakefile in you code? rake does so automatically.
Thanks,
Gordon
Wow, that was very terse. Even for me. What I mean is that the rake
command will require your rakefile automatically. But if you want to
use a rake task from ruby, you will have to explicitly require the
rakefile.
Thanks,
Gordon
Gordon,
How do I specify the Rakefile to use?
Thanks! -- BTR
···
On Jan 17, 2008 9:36 PM, Gordon Thiesfeld <gthiesfeld@gmail.com> wrote:
>
> Did you require the rakefile in you code? rake does so automatically.
>
> Thanks,
>
> Gordon
>
Wow, that was very terse. Even for me. What I mean is that the rake
command will require your rakefile automatically. But if you want to
use a rake task from ruby, you will have to explicitly require the
rakefile.
Thanks,
Gordon
I was a little off. I don't think you can use require, but you can use load.
require 'rubygems'
require 'rake'
load 'path/to/Rakefile'
rake = Rake::Application.new
rake['spec'].invoke
···
On Jan 17, 2008 10:53 PM, Bryan Richardson <btricha@gmail.com> wrote:
Gordon,
How do I specify the Rakefile to use?
Thanks! -- BTR