我正在为一个应用程序编写一个测试套件(使用test::Class::驼鹿;催化剂::Test),并且遇到了一些麻烦。我有一个测试,它检查我是否从URL获得一个成功的响应,然后检查标题。大多数测试都通过了,但是有几个URI正在重定向到登录页面。IE:
如果我通过了/foo/bar,我就能得到我期望的头衔
but
如果我传递/foo/baz,它将重定向到登录页面。‘
(在这两种情况下,我都得到了成功的响应: 200,并且认证要求是相同的)
我的问题是:催化剂:测试是如何处理用户身份验证的,为什么它要通过对某些URI的身份验证检查,而不是其他URI?在这方面,文档非常模糊,Google博士也没有返回任何有用的东西。
注意:代码不是‘我的’,所以我不能张贴,但我可以提供抽象的例子,如果需要。
发布于 2014-02-05 01:04:04
在使用催化剂:试验时,在URI需要身份验证凭据的地方,请求方法可能对您有用。
此方法可以接受一个HTTP::请求对象,该对象允许您在URI字符串之外设置请求信息。最值得注意的是,如概要所示,您将希望设置用户代理,以支持传递凭据,并涵盖诸如持久化cookie(可能是会话状态实现)之类的内容。
有关此问题的更多信息,请参见LWP::UserAgent。
至于您的问题,考虑到为什么某些URI需要身份验证,而有些不需要验证,这取决于如何在代码中设置内容。即使存在在根控制器中的begin
或auto
操作中进行身份验证的通用调用,调度过程也可能被覆盖。花些时间消化以下内容可能适用。
https://stackoverflow.com/questions/21560838
复制相似问题