Je teste le front-end d'une application Web et je veux tester la façon dont certaines transitions apparaissent avec divers retards entre les demandes AJAX. Existe-t-il un moyen d'ajouter une fonction sleep(1500)
à mon contrôleur pour retarder la réponse?
Contrôleur comme ça:
def catalog
#Makes the request pause 1.5 seconds
sleep 1.5
...
end
Encore mieux: ajoutez uniquement le sommeil pour l'environnement de développement.
Élaboration d'une réponse acceptée. Si vous avez un contrôleur de base comme le ApplicationController
par défaut qui est étendu par tout autre contrôleur, vous pouvez définir le filtre suivant:
class ApplicationController < ActionController::Base
# adds 1s delay only if in development env
before_filter if: "Rails.env.development?" do
sleep 1
end
end
Où: 1 est le nombre de secondes à attendre avant de retourner une réponse, voir sleep docs
Ce filtre ne sera déclenché que si votre application est dans environnement de développement et cela ajoutera le délai souhaité à chaque demande traitée par votre application.