gpt4 book ai didi

ruby-on-rails - 如何在 Rails 的功能测试中启用页面缓存?

转载 作者:行者123 更新时间:2023-12-04 06:53:45 25 4
gpt4 key购买 nike

是否可以为功能测试打开页面缓存?以下方法无效:

class ArticlesControllerTest < ActionController::TestCase
def setup
ActionController::Base.public_class_method :page_cache_path
ActionController::Base.perform_caching = true
end
end

提前致谢

黛布

最佳答案

我目前的解决方法是启用 perform_caching然后重新加载 Controller :

class ProjectsCachingTest < ActionController::IntegrationTest
def setup
# force the controller to be reloaded when caching is enabled
ActionController::Base.perform_caching = true
load "projects_controller.rb"
end

def teardown
# undo the actions above
ActionController::Base.perform_caching = false
load "projects_controller.rb"
end
end

在最新版本的 Rails 2 中,您遇到的问题与类方法有关 caches_actioncaches_page .他们都创建了一个环绕过滤器来做缓存,但只有当 perform_caching已启用。

所以,修改 perform_caching在运行时不会重新创建预期的周围过滤器。上面的示例是强制重新评估 Controller 的一种方法。

关于ruby-on-rails - 如何在 Rails 的功能测试中启用页面缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2765700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com