2015-06-23 4 views
3

Я пишу модульные тесты для своего проекта, который использует Pyramid. То, что я сделал до сих пор, - это добавлять данные и атрибуты вручную к запросам. Например установка идентификатора в маршруте:Как мне высмеять объект `request.matched_route` Pyramid?

request = testing.DummyRequest() 
request.matchdict['id'] = 19 

Один из моих взглядов имеют несколько маршрутов, присоединенных к нему, и я определить маршрут с request.matched_route.name.

Теперь, когда я пытаюсь установить вручную маршрут как:

request.matched_route.name = 'one_of_my_routes' 

или

request.matched_route = {'name': 'one_of_my_routes'} 

я получаю ошибки. Каков правильный способ тестирования с использованием модульных тестов Python?

ответ

2

Ну, это не Javascript. Вы не можете сделать словарь и ожидать использования оператора точки на нем. Вот почему № 2 не работает. # 1, вероятно, связано с тем, что вам нужно создать каждый объект в цепочке. request имеет только свойство matched_route, если маршрут соответствует, поэтому вам нужно создать этот объект.

class DummyRoute(object): 
    name = 'one_of_my_routes' 

request.matched_route = DummyRoute() 
Смежные вопросы