2015-06-23 20 views
3

我正在爲我的項目編寫單元測試,使用Pyramid。到目前爲止,我所做的是將數據和屬性手動添加到請求中。例如,在路線設置ID:如何模擬金字塔的request.matched_route對象?

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()