小编Ian*_*ens的帖子

Pylons应用程序中的单元测试授权失败; cookie未正确设置或记录

我在Pylons应用程序中运行单元测试以进行授权时遇到问题.看起来好像在测试用例中设置的某些cookie可能无法正确编写或解析.使用浏览器访问应用程序时,Cookie工作正常.

这是我在粘贴生成的TestController中的测试用例:

def test_good_login(self):
    r = self.app.post('/dologin', params={'login': self.user['username'], 'password': self.password})
    r = r.follow() # Should only be one redirect to root
    assert 'http://localhost/' == r.request.url
    assert 'Dashboard' in r
Run Code Online (Sandbox Code Playgroud)

这应该测试现有帐户的登录将用户转发到仪表板页面.相反,会发生的是用户被重定向回登录.第一个POST工作,在会话中设置用户并返回cookie.虽然这些cookie是在以下请求中发送的,但它们似乎没有被正确解析.

我首先在上面的方法的开头设置一个断点,看看登录响应返回的内容:

> nosetests --pdb --pdb-failure -s foo.tests.functional.test_account:TestMainController.test_good_login
Running setup_config() from foo.websetup
> /Users/istevens/dev/foo/foo/tests/functional/test_account.py(33)test_good_login()
-> r = self.app.post('/dologin', params={'login': self.user['username'], 'password': self.password})
(Pdb) n
> /Users/istevens/dev/foo/foo/tests/functional/test_account.py(34)test_good_login()
-> r = r.follow() # Should only be one redirect to root
(Pdb) p r.cookies_set
{'auth_tkt': '"4c898eb72f7ad38551eb11e1936303374bd871934bd871833d19ad8a79000000!"'}
(Pdb) p r.request.environ['REMOTE_USER']
'4bd871833d19ad8a79000000'
(Pdb) p r.headers['Location'] …
Run Code Online (Sandbox Code Playgroud)

python pylons webtest nose nosetests

6
推荐指数
1
解决办法
1710
查看次数

标签 统计

nose ×1

nosetests ×1

pylons ×1

python ×1

webtest ×1