RSG*_*RSG 42 ruby testing ajax ruby-on-rails ruby-on-rails-3
我正在测试Web应用程序的前端,并想测试一些转换如何在AJAX请求之间出现各种延迟.有什么办法可以添加sleep(1500)到我的控制器来延迟响应吗?
RSG*_*RSG 77
控制器如此:
def catalog
#Makes the request pause 1.5 seconds
sleep 1.5
...
end
Run Code Online (Sandbox Code Playgroud)
更好的是:只为开发环境添加睡眠.
jma*_*eli 15
阐述已接受的答案.如果您有一些基本控制器,如默认值ApplicationController,由任何其他控制器扩展,您可以定义以下过滤器:
class ApplicationController < ActionController::Base
# adds 1s delay only if in development env
before_filter if: "Rails.env.development?" do
sleep 1
end
end
Run Code Online (Sandbox Code Playgroud)
其中: 1是返回任何响应之前等待的秒数,请参阅睡眠文档
仅当您的应用程序位于开发环境中时,才会触发此过滤器,并且它将为应用程序处理的每个请求添加所需的延迟.