【发布时间】:2015-03-21 18:41:40
【问题描述】:
我有 Pyramid/cornice 资源,需要在 url 末尾添加一个 ?query=keyword。但我不知道如何在金字塔的 dummyRequest 对象中添加它。代码在浏览器上完美运行,使用此 url 获取内容时我会得到正确的响应:*url*/foo?query=keyword。
我的类/资源是这样定义的:
@resource(path='/bar/search/foo')
class SearchFooResource(object):
def __init__(self, request):
self.request = request
@view(renderer='json')
def get(self):
#get query string, it's a tuple
req = self.request.GET.items()
#do stuff with req
现在 req 应该将所有查询字符串“stuffs”包含在一个列表中,该列表包含它们作为元组,例如:[('query', 'bar'),('query', 'asd')]。但是我如何对这个资源进行单元测试呢?我似乎无法向self.request.GET.items() 方法添加任何内容。运行unittest时req为空,会报这个错误:AttributeError: 'list' object has no attribute 'items'。
我当前的单元测试:
def test_passing_GetFooBaarResource(self):
request = testing.DummyRequest()
request.GET = [('query', 'keyword')]
info = SearchFooResource.get(SearchFooResource(request))
self.assertEqual(info['foo'], 'baar')
【问题讨论】:
标签: python python-requests pyramid python-unittest cornice