Я тестирую переднюю часть веб-приложения и хочу проверить, как некоторые из переходов появляются с различными задержками между запросами AJAX. Есть ли способ добавить к контроллеру sleep(1500)
для задержки ответа?
Как добавить задержку к контроллеру Rails для тестирования?
Ответ 1
Такой контроллер:
def catalog
#Makes the request pause 1.5 seconds
sleep 1.5
...
end
Еще лучше: добавьте только sleep для среды dev.
Ответ 2
Разработка принятого ответа. Если у вас есть базовый контроллер, такой как по умолчанию ApplicationController
, который расширяется любым другим контроллером, вы можете определить следующий фильтр:
class ApplicationController < ActionController::Base
# adds 1s delay only if in development env
before_filter if: "Rails.env.development?" do
sleep 1
end
end
Где: 1 - это количество секунд ожидания перед возвратом любого ответа, см. sleep docs
Этот фильтр будет активирован , только если ваше приложение находится в разработке, и оно добавит желаемую задержку к каждому запросу, обработанному вашим приложением.