为Mojolicious测试提供描述性测试名称?

时间:2015-11-21 06:08:57

标签: perl testing mojolicious

我正在整理我的Mojolicious测试并给他们正确的描述性名称。举个例子:

$t->get_ok( '/api/ninjablock', 'Run a GET against /api/ninjablock with no credentials' )
     ->status_is( 403, '  and it has correctly returned a 403' );

测试输出如下所示:

ok 1 - GET /api/ninjablock
ok 2 -   and it has correctly returned a 403

我认为我错过了一些明显的东西,但是如何让第一次测试显示除GET /api/ninjablock以外的其他内容?

1 个答案:

答案 0 :(得分:4)

根据Test::Mojo source codeget_ok()只接受三个参数($self, $method, $url)。因此,对于Test::Mojo本身,您无法按照当前的方式为测试分配说明。

有点不幸的是你无法提供描述,但你可以在Test::More的{​​{1}},ok()等子程序中包装你喜欢的任何测试。

不要害怕把它提升到更高的水平。如果您需要测试多个URL在您不提供凭据时返回403:

is()

请注意,这将导致额外的测试输出行(或额外的测试编号),但大多数时候您应该在线束中运行,因此只会显示失败的测试。如果您需要一些额外的组织,可以考虑ok($t->get_ok($_)->status_is(403) => "$_ no creds : 403") for @urls;