2010-06-25 2 views
0

Pylons 앱에 대한 컨트롤러 테스트를 설정하려고합니다. 아주 간단한 컨트롤러와 매우 간단한 테스트를 만들었습니다.Pylons 컨트롤러 테스트가 요청 매개 변수를 전달하지 마십시오

-------------------- >> begin captured stdout << --------------------- 
GET /_test_vars HTTP/1.0 
Host: localhost:80 
<Request at 0x36d6950 GET http://localhost/_test_vars> 
UnicodeMultiDict([]) 
GET /main/index/?var1=1&var2=2 HTTP/1.0 
Host: localhost:80 

--------------------- >> end captured stdout << ---------------------- 
: 우리가이 코드를 실행하면, 우리는 다음과 같은 출력을 얻을, 어떤 이유로

class MainController(BaseController): 
    def index(self): 
     print request 
     print request.params 

:

class TestMainController(TestController): 
    def test_index(self): 
     response = self.app.get(url(controller='main', action='index', var1 = '1'), params={'var2':'2'}) 
     print response.req 
     assert False 

한편, 컨트롤러는 다음과 같은 : 시험은 같다

TestApp는 적절한 요청을 보내고 있다고 생각하지만 컨트롤러를 치는 요청이 잘못되었습니다. 여기에 무슨 일이 일어 났는지 아무도 모른다. 우리는 현재 시험에서 물속에서 죽었습니다.

+0

이 코드는 새로 만든 Pylons 1.0 프로젝트에서 잘 작동합니다. 그것은 당신이 코드에서 다른 곳에서하고있는 것이어야합니다. 메인 컨트롤러에서 '요청'을 어떻게 가져 옵니까? 테스트 세트 어딘가에 특별 설정 (예 : request._push_object)을 수행합니까? –

답변

1

마리우스의 의견에 따르면, 우리는 우리의 앱을 설치하기 위해 이전 버전을 사용하고있는 것으로 나타났습니다. 그 요청은 사물로 망했다.