在python金字塔视图中模拟函数



我有一个python金字塔视图,想写一个unittest。

def home(request):
state = request.params.get('redirect', None)
cookie = request.headers.get('Cookie')              
user = identify_session_user(cookie , request.registry.settings)
response = HTTPFound(location=state)
response.set_cookie('USERINFO',
base64.b64encode(json.dumps(user).encode('ascii')),
domain='test.com')

return response

简单unittest: -

def test_hello_world(self):
from tutorial import home
request = testing.DummyRequest()
response = hello_world(request)
self.assertEqual(response.status_code, 200)

我如何模拟在我的主视图中调用的identifify_session_user函数?

这可能不是你问题的确切答案,但却是解决问题的另一种方法。

比起在Pyramid中模拟一个视图或整个会话机制,你可以基于WebTest进行集成测试。这可能更容易设置,但是测试运行起来有点慢。

最新更新