Vir*_*olf 3 testing perl 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' );
Run Code Online (Sandbox Code Playgroud)
然而,测试输出如下所示:
ok 1 - GET /api/ninjablock
ok 2 - and it has correctly returned a 403
Run Code Online (Sandbox Code Playgroud)
我认为我遗漏了一些明显的东西,但是如何使第一个测试显示GET /api/ninjablock名称以外的东西?
小智 5
根据Test::Mojo源代码,get_ok()只接受三个参数,($self, $method, $url)。因此,就Test::Mojo其本身而言,您无法按照当前的方式为测试分配描述。
有点不幸的是,您无法提供描述,但您可以将任何您喜欢的测试包装在、等Test::More子例程中。ok()is()
也不要害怕将其提升到更高的水平。如果您需要测试在不提供凭据时多个 URL 是否返回 403:
ok($t->get_ok($_)->status_is(403) => "$_ no creds : 403") for @urls;
Run Code Online (Sandbox Code Playgroud)
请注意,这将导致额外的测试输出行(或额外的测试编号),但大多数时候您都应该在安全带中运行,因此只会显示失败的测试。您可以考虑Test::Group是否需要一些额外的组织。
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |