gpt4 book ai didi

perl - 测试 Catalyst URI

转载 作者:行者123 更新时间:2023-11-28 21:31:14 26 4
gpt4 key购买 nike

我正在为应用程序(Utilizing Test::Class::Moose;Catalyst::Test)编写测试套件,但遇到了一些障碍。我有一个测试来检查我是否从 URL 获得了成功的响应,然后检查标题。大多数测试都通过了,但一些 URI 重定向到登录页面。即:

如果我通过/foo/bar,我会得到我期望的标题

                but

如果我传递/foo/baz,它会重定向到登录页面。 '

(在这两种情况下,我都得到了成功的响应:200,并且身份验证要求是相同的)

我的问题是:Catalyst::Test 如何处理用户身份验证以及为什么它会通过某些 URI 而不是其他 URI 的身份验证检查?文档在这方面非常模糊,谷歌博士也没有返回任何有用的信息。

注意:该代码不是“我的”,因此我无法发布它,但如果需要,我可以提供抽象示例。

最佳答案

使用 Catalyst::Testrequest当您的 URI 需要身份验证凭据时,方法可能对您有用。

这个方法可以接受一个HTTP::Request允许您设置 URI 字符串以外的请求信息的对象。最值得注意的是,如概要所示,您将希望设置用户代理以支持传递凭据并涵盖诸如持久性 cookie 之类的内容,这可能是 session 状态实现。

参见 LWP::UserAgent有关这方面的更多信息。

至于考虑为什么有些 URI 需要身份验证而有些不需要身份验证的问题,这取决于代码中的设置方式。即使在 Root Controller 的 beginauto 操作中有一般的身份验证调用,调度过程也可能被覆盖。花点时间消化以下内容可能适用。

Introduction to Catalyst: Built-in actions in controllers/autochaining

关于perl - 测试 Catalyst URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21560838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com