0
我们正在尝试为我们的主塔应用程序设置控制器测试。我做了一个非常简单的控制器和一个非常简单的测试。这些测试是这样的:主塔控制器测试不通过请求参数
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
同时,控制器看起来是这样的:
class MainController(BaseController):
def index(self):
print request
print request.params
出于某种原因,当我们运行这段代码,我们得到以下的输出:
-------------------- >> 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 << ----------------------
TestApp认为它发送了正确的请求,但是命中控制器的请求是错误的。任何人都知道这里发生了什么?我们目前正在测试中死于水中。
这段代码对于我在新创建的Pylons 1.0项目中工作得很好。它必须是你在代码中其他地方正在做的事情。你如何在主控制器中导入'请求'?你是否在你的测试设置中的某个地方做了任何特殊的设置(例如request._push_object)? – 2010-07-07 21:06:00