如何转储所有Mojolicious路线?

时间:2018-04-26 17:30:54

标签: perl mojolicious-lite

Full Mojolicious应用程序有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? 应用程序的测试脚本中做同样的事情?

// your object definition
    let value = {
         PostName: 'some text here',
         {... other fields}
    }

1 个答案:

答案 0 :(得分:2)

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

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

该应用可从Test::Mojo对象$test->app访问。请注意,该方法的文档包括验证路由的测试:

ok $t->app->routes->find('echo')->is_websocket, 'WebSocket route';

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

相关问题