2016-12-20 1 views
0

두 개의 서로 다른 URL을 가리키는 webapp2 서버가 있습니다. 나는 로컬 테스트 응용 프로그램을 회전하고 webapp2.Request.blank이 요청을 만들기 위해 사용하고 내 단위 테스트에서webapp2 처리 단위 테스트에서 self.request.host를 재정의하는 방법은 무엇입니까?

class MyHandler(webapp2.RequestHandler): 

    def dispatch(self): 
    if self.request.host == 'my url': 
     # Do something. 
    else: 
     # Do something else. 

: 내 처리기의 발송 기능에서 나는 요청에서 온 어떤 호스트 확인 :

test_app = webapp2.WSGIApplication([('/', MyHandler)]) 
request = webapp2.Request.blank('/') 
response = request.get_response(test_app) 

내 URL 중 하나와 일치하도록이 컨텍스트에서 request.host를 무시할 수 있는지 궁금합니다. 지금 당장은 localhost : 80을 통해 들어오고 있습니다. 감사.

답변

0

나는 아직도 내가 부탁 한 것은 수 있는지 확실하지 않습니다하지만 난 request.host 값 내 핸들러를 확장하고 재정 의하여 해결 방법을 발견

class TestHandler(MyHandler): 
    def __init__(self, *args, **kwargs): 
    super(TestHandler, self).__init__(*args, **kwargs)         
    self.request.host = 'my url' 

test_app = webapp2.WSGIApplication([('/', TestHandler)]) 
request = webapp2.Request.blank('/') 
response = request.get_response(test_app) 
관련 문제