RSpec Rake Support
You can test you Rake files like you test your Rails app.
This gem adds an example group and configures RSpec so we can write tests for our Rake tasks easily.
Add this line to your application's Gemfile:
And then execute:
Or install it yourself as:
$ gem install rspec-rake
rspec/rake in your
And start writing tests in your
RSpec::Rake will detect a task test and will try loading it from your
You can manually specify the rake file location and file name by using metadata:
describe 'task:subtask', :rakefile => 'my_task' do # Spot the :rakefile metadata value # This will tell `RSpec::Test` to load `lib/tasks/my_task.rake` it 'does something' do task.invoke end end
As you can see the subject of the test is the task with the name from example description.
You can also refer to the subject as
describe 'task:subtask', :rakefile => 'my_task', :tasks_path => 'lib/capistrano/tasks' do # Same with the :tasks_path metadata value # This will tell `RSpec::Test` to load `lib/capistrano/task/my_task.rake` end
Check rails-dummy tests for more examples.
Due to how
Rake::Application#rake_require works, only files with
.rake extension can be tests.
Although I picked a different approach to handle the same problem, it is pretty much the same solution. All I did is tried to put it all together and provide it the way you see it now.
- Fork it ( http://github.com/stas/rspec-rake/fork )
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request