1
특정 작업에 대한 HTTP 요청을 게시하는 컨트롤러가 있는데 요청이 실제로 전송되고 있음을 테스트/주장하려면 어떻게합니까?요청이 Rails 컨트롤러에서 전송 된 것을 테스트했습니다.
특정 작업에 대한 HTTP 요청을 게시하는 컨트롤러가 있는데 요청이 실제로 전송되고 있음을 테스트/주장하려면 어떻게합니까?요청이 Rails 컨트롤러에서 전송 된 것을 테스트했습니다.
나는 단지 응답이나 더 높은 단계의 행동 (이 일이하는 것처럼)을 테스트 할 것이다. 그러나 상호 작용 (어쩌면 경로 확인 등)을 테스트하고 싶다면 조롱하십시오. 다음은 몇 가지 아이디어입니다.
# test where the request goes
request = ActionController::TestRequest.new
request.query_parameters[:foo] = "bar"
request.path = "/"
ActionController::Routing::Routes.recognize(request)
assert_equal({"controller"=>"your_controller","action"=>"index"}, request.path_parameters)
# other tests here if you want
RSpec에 유형 검사 :
# test that the controller will receive it
controller = YourController.new
controller.should respond_to(:create)
당신은 무엇을 시도? 컨트롤러/요청을 테스트하는 것은 새로운 것은 아니며 많은 예제/도움말/도구가 있습니다. – MrDanA
응답을 주장 할 다른 테스트가 있지만 요청이 전송되었다고 주장 할 수있는 테스트를 찾을 수 없습니다. – Nonos