单元测试Cherrypy HTTPRedirect。

时间:2013-05-20 15:01:28

标签: python cherrypy nose nosetests

我正在编写一个需要重定向到特定页面的樱桃应用程序,我使用HTTPRedirect('mynewurl',status = 303)来实现这一目标。这是因为浏览器(Safari)重定向到'mynewurl'而不询问用户。但是,当我尝试使用nosertInBody()使用nosetests进行单元测试时,我会得到不同的结果; assertInBody报告'此资源可以在mynewurl找到'而不是'mynewurl'的实际内容。我的问题是如何让鼻子测试的行为方式与Safari相同,即重定向到页面而不显示“询问”消息?

由于 凯文

1 个答案:

答案 0 :(得分:0)

使用python单元测试,您基本上是在测试服务器。服务器的正确响应是重定向异常,而不是重定向页面本身。我建议您分两步测试此行为:

  1. 测试第一页/ url是否正确初始化(code,url)HTTPRedirect异常
  2. 测试第二页(正在重定向)的内容
  3. 但是,当然,如果你坚持,你可以通过检查异常属性并再次在目标URL上调用测试方法来自行解决Try / Except中的重定向。