0

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

谢谢凯文

4

1 回答 1

0

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

  1. 测试第一页/url是否抛出正确初始化的(代码,url)HTTPRedirect异常
  2. 测试第二页的内容(正在被重定向)

但是当然,如​​果你坚持,你可以通过检查异常属性并再次在目标url上调用测试方法来自行解决Try/Except中的重定向。

于 2013-05-20T15:17:50.750 回答