I m trying to test the routes on my rails 2.3.4 application. There are several sites that explain how to test routes, including the rails docs, but I m getting errors following the instructions.
First, I m assuming that these tests can be done in related unit test files. There seems to be no more obvious place, and none of the docs specify.
That said, this is a condensed version of test/unit/TitlesTest.rb
require File.dirname(__FILE__) + /../test_helper
class TitleTest < Test::Unit::TestCase
# include ActionController::Assertions::RoutingAssertions
def test_routes
assert_routing "games", { :controller => "titles", :section => "games", :action => "index", :id => nil }
end
end
rake test:units
fails with the error:
NoMethodError: undefined method `assert_routing for #<TitleTest:0x7f387232ec98>
/test/unit/title_test.rb:7:in `test_routes
I saw in the Rails API that assert_routing is defined in ActionController::Assertions::RoutingAssertions
, so I attempted to include that module, only to have it fail elsewhere.
Note the commented include
line in the code example above.
NoMethodError: undefined method `clean_backtrace for #<TitleTest:0x7fd895fadf00>
/test/unit/title_test.rb:7:in `test_routes
clean_backtrace
is another testing method defined in ActionController::TestCase::Assertions.
I m not getting any google search results for these errors - no one else seems to be having this problem. The problem also occurs if I recreate the scenario in a freshly generated rails app. I don t think I should be having to include these modules in my test cases. What might be wrong here?