gpt4 book ai didi

perl - 如何转储所有 Mojolicious 路线?

转载 作者:行者123 更新时间:2023-12-04 20:29:12 27 4
gpt4 key购买 nike

完整的 Mojolicious 应用程序有 routes将转储应用程序路由的命令:

script/my_app.pl routes

我如何从 Lite 的测试脚本中做同样的事情应用?
use Mojo::Base -strict;
use Test::Mojo;
use Test::More;

use Mojolicious::Lite;

... # Routes defined here

my $t = Test::Mojo->new;

$t->dump_all_routes # What should I do here?

最佳答案

一个 Mojolicous::Lite app 是一个成熟的 Mojolicious 应用程序,只是语法更方便。

  • 您可以使用 /app.pl routes也在命令行上为 Lite 应用程序打印路由。
  • 您可以通过 app->routes 以编程方式访问路由对象,这是一个 Mojolicious::Routes 包含个人 Mojolicious::Routes::Route 的对象对象。

  • 不幸的是,Routes 对象没有记录用于枚举所有路由的 API。 因此,您必须自己遍历路由树。 Mojolicious::Command::routes command对应的源码比较复杂。或者,您可以 ->find($name)名称的具体路线。

    该应用程序可从 Test::Mojo 访问对象为 $test->app .请注意,该方法的文档包括验证路由的测试:
    ok $t->app->routes->find('echo')->is_websocket, 'WebSocket route';

    请注意,您必须使用应用程序名称初始化测试对象,或者稍后为其分配一个应用程序实例,以便通过测试对象访问应用程序。

    关于perl - 如何转储所有 Mojolicious 路线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50048891/

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