Вот мое текущее решение проблемы: В environment/test.rb
я установил
config.action_controller.perform_caching = true
Кроме того, я обезьяна исправляю Test::Unit::TestCase
следующим образом:
class Test::Unit::TestCase
def setup_with_disable_caching
setup_without_disable_caching
disable_caching
end
alias_method_chain :setup, :disable_caching
def disable_caching
ActionController::Base.perform_caching = false
end
def enable_caching(&blk)
ActionController::Base.perform_caching = true
if blk
yield
disable_caching
end
end
end
Это позволяетмне написать следующие тесты:
test "info about caching (with caching)" do
enable_caching do
get :about, :locale => :en
assert_template 'about'
get :about, :locale => :en
assert_template nil
end
end
test "info about caching (without caching)" do
get :about, :locale => :en
assert_template 'about'
get :about, :locale => :en
assert_template 'about'
end
Это не идеально, но пока работает.Я все еще интересуюсь лучшими идеями !!