2014-01-05 2 views
4

저는 webapp2 응용 프로그램을 단위 테스트 중이며 파일 게시를 시뮬레이트하는 테스트를 작성하려고합니다. 파일의 시뮬레이션 된 내용을 포함하는 유닛 테스트에서 요청 개체를 만들려면 어떻게해야합니까?webapp2를 사용하여 파일 게시물을 단위 테스트하려면 어떻게합니까?

import unittest 
import webapp2 

import main 

file_contents = """id, first, last 
1, Bruce, Banner 
2, Tony, Stark 
""" 

class TestHandlers(unittest.TestCase): 
    def test_hello(self): 

     request = webapp2.Request.blank('/') 
     request.method = 'POST' 

     # Magic needed here. 
     #Put file_contents into a form parameter 

     response = request.get_response(main.app) 
     #Test that the returned text contains something from the posted file 
     self.assertEqual(True, "Bruce" in response.body) 

답변

2

이름없는 POST 매개 변수가 포함 된 것처럼 보입니다. 그것은 http://webapp-improved.appspot.com/guide/testing.html#request-blank 문서에서 요청 메소드가 자동으로 POST로 설정되고 CONTENT_TYPE이 'application/x-www-form-urlencoded'로 설정되어 있다고합니다.

그래서 위의 단지 수에 :

post_contents = {'someVar':file_contents} 
request = webapp2.Request.blank('/', POST=post_contents) 
response = request.get_response(main.app)