为 Mojolicious 测试提供描述性测试名称?
Giving descriptive test names to Mojolicious tests?
我正在整理我的 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
以外的东西作为名称?
根据Test::Mojo source code,get_ok()
只接受三个参数,($self, $method, $url)
。因此,对于 Test::Mojo
本身,您无法按照当前的方式为测试分配描述。
遗憾的是您无法提供描述,但您可以将任何您喜欢的测试包装在 Test::More
的 ok()
、is()
等子例程中。
不要害怕将它提升到更高的水平。如果您需要在不提供凭据的情况下测试多个 URL return 403:
ok($t->get_ok($_)->status_is(403) => "$_ no creds : 403") for @urls;
请注意,这将导致额外的测试输出行(或额外的测试编号),但大多数时候你应该 运行 无论如何,所以只有失败的测试才会展示。如果您需要一些额外的组织,可以考虑 Test::Group
。
我正在整理我的 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
以外的东西作为名称?
根据Test::Mojo source code,get_ok()
只接受三个参数,($self, $method, $url)
。因此,对于 Test::Mojo
本身,您无法按照当前的方式为测试分配描述。
遗憾的是您无法提供描述,但您可以将任何您喜欢的测试包装在 Test::More
的 ok()
、is()
等子例程中。
不要害怕将它提升到更高的水平。如果您需要在不提供凭据的情况下测试多个 URL return 403:
ok($t->get_ok($_)->status_is(403) => "$_ no creds : 403") for @urls;
请注意,这将导致额外的测试输出行(或额外的测试编号),但大多数时候你应该 运行 无论如何,所以只有失败的测试才会展示。如果您需要一些额外的组织,可以考虑 Test::Group
。