반응형
테스트를 위해 레일 컨트롤러에 지연을 추가하는 방법
웹 애플리케이션의 프런트 엔드를 테스트하고 있는데, AJAX 요청 사이에 다양한 지연이 발생하는 일부 전환이 어떻게 표시되는지 테스트하고 싶습니다.다른 방법으로 추가할 수 있는 것은 없습니까?sleep(1500)
응답을 지연시킬 수 있을까요?
이와 같은 컨트롤러:
def catalog
#Makes the request pause 1.5 seconds
sleep 1.5
...
end
더 좋은 점은 개발 환경에 sleep만 추가하는 것입니다.
수용된 답변에 대해 자세히 설명하고 있습니다.기본 컨트롤러와 같은 기본 컨트롤러가 있는 경우ApplicationController
이 필터는 다른 컨트롤러에 의해 확장됩니다.다음 필터를 정의할 수 있습니다.
class ApplicationController < ActionController::Base
# adds 1s delay only if in development env
before_action if: "Rails.env.development?" do
sleep 1
end
end
여기서 1은 응답을 반환할 때까지의 대기 시간(초)입니다(sleep docs 참조).
이 필터는 응용 프로그램이 개발 환경에 있는 경우에만 트리거되며 응용 프로그램이 처리하는 모든 요청에 원하는 지연이 추가됩니다.
언급URL : https://stackoverflow.com/questions/7098732/how-to-add-a-delay-to-rails-controller-for-testing
반응형
'source' 카테고리의 다른 글
Jest 및 React에서의 SyntaxError 및 CSS 파일 Import (0) | 2023.03.10 |
---|---|
입력에 숫자(자릿수와 소수점)만 입력할 수 있도록 하려면 어떻게 해야 합니까? (0) | 2023.03.10 |
AngularJs의 서비스에 dateFilter를 삽입합니다. (0) | 2023.03.10 |
스프링 부트 2.1 bean 오버라이드 vs기본적인 (0) | 2023.03.10 |
Angular로 트리뷰를 만들 수 있습니까? (0) | 2023.03.10 |