Я пытаюсь проверить маршруты в моем приложении rails 2.3.4. Есть несколько сайтов, которые объясняют, как тестировать маршруты, включая документацию по rails, но я получаю ошибки, следуя инструкциям.
Во-первых, я предполагаю, что эти тесты могут быть выполнены в связанных файлах модульных тестов. Кажется, нет более очевидного места, и ни один из документов не указывает.
Тем не менее, это сжатая версия 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
завершается с ошибкой:
NoMethodError: undefined method `assert_routing' for #<TitleTest:0x7f387232ec98>
/test/unit/title_test.rb:7:in `test_routes'
Я видел в Rails API, что assert_routing определен в ActionController::Assertions::RoutingAssertions
, поэтому я попытался включить этот модуль только для того, чтобы он вышел из строя в другом месте.
Обратите внимание на прокомментированную строку include
в приведенном выше примере кода.
NoMethodError: undefined method `clean_backtrace' for #<TitleTest:0x7fd895fadf00>
/test/unit/title_test.rb:7:in `test_routes'
clean_backtrace
- это еще один метод тестирования, определенный в ActionController :: TestCase :: Assertions.
Я не получаю никаких результатов поиска Google по этим ошибкам - похоже, ни у кого больше нет этой проблемы. Проблема также возникает, если я воссоздаю сценарий в недавно сгенерированном приложении rails. Я не думаю, что мне нужно включать эти модули в мои тесты. Что здесь может быть не так?