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}
}
答案 0 :(得分:2)
Mojolicous::Lite
应用程序是一个完全成熟的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';
请注意,您必须使用应用名称初始化测试对象,或者稍后为其分配应用实例,以便通过测试对象访问应用。