RouteDog for Ruby on Rails
It only works in Rails 3 for now, Rails 2.3 support is comming.
RouteDog does the following things for you:
Identify routes that has been defined in config/routes.rb but hasn't been implemented.
Identify which routes of your application were never hitted by a Integration Test.
Notify you which actions hasn't been tested while you are using your application by injecting html on the top of the page.
For What This Is Useful?
Suppose that you get a contract to work in a project but that was not started by you, you know that it has some tests, also you have seen the coverage results but you want to live the experience using the application and seeing which route is actually tested and which route don't.
You were a Rumble Guy that thought that tests were not necessary? ok, may be this is for you if you don't want to drop all your code.
Even if you are not planning to write Integration Tests you can take advantage of the route defined, tested and used report.
If you are using Bundler
If you are not using Bundler
Get a report of defined, implemented and tested routes
Run your Integration Tests and then ask for a report
Browsing your application in Development
Create a file called route_dog.yml under your config directory.
--- watcher: env: - test notifier: env: - test - development
This will be appended to your application response
Clean collected tested routes
This is useful if you had a test passing and then you remove the test from your codebase, very uncommon, and it should not be treated as a passing test anymore, here is the command.
- Watcher middleware don't work with Controller Tests, it only works with Integration Tests.
If you are planning to contribute to this gem, please read the following advice.
Once you have pulled the source code do this...
cd test/mock_app bundle install
Then you can run the tests...
Copyright © 2010 Alvaro Gil. See LICENSE for details.
dcadenas, foca and spastorino for beign responsive to my questions.