FMc*_*FMc 6 testing perl module manifest
当Module :: Starter初始化项目时,它会创建一个名为的测试manifest.t
.
#!perl -T
use strict;
use warnings;
use Test::More;
unless ( $ENV{RELEASE_TESTING} ) {
plan( skip_all => "Author tests not required for installation" );
}
eval "use Test::CheckManifest 0.9";
plan skip_all => "Test::CheckManifest 0.9 required" if $@;
ok_manifest();
Run Code Online (Sandbox Code Playgroud)
当你运行测试时Build test
,这是输出的一部分:
t\00-load.t ....... ok
t\boilerplate.t ... ok
t\manifest.t ...... skipped: Author tests not required for installation
Run Code Online (Sandbox Code Playgroud)
我从狭义上理解结果($ENV{RELEASE_TESTING}
没有设置,所以测试被跳过),但我并没有完全掌握全局.什么是预期的开发过程?我认为运行测试以确认我的模块的清单是准确的是个好主意.我应该设置该环境变量吗?如果是这样,在开发过程中的哪个阶段?
许多模块发行版都进行了测试,这些测试不是检查代码是否正常工作,而是检查发行版是否处于适合发布的状态。清单是最新的信息,是否所有功能都已在POD中记录,等等。
为了节省时间,除非设置了RELEASE_TESTING环境变量,否则可以编写这些测试以使其自身跳过。这是一个非正式标准。这样,这些测试不会在人们安装模块时运行,也不会在作者仅检查代码更改是否破坏任何东西时运行。
您应该RELEASE_TESTING=1 make test
在释放dist之前运行(或Build等效版本)。如果您使用Dist :: Zilla(我强烈建议使用),则可以使用进行发布测试dzil test --release
。该标志也是由TestRelease插件自动设置的,如果您使用dzil,则一定要使用它。
通常用于控制测试的其他环境变量是AUTOMATED_TESTING和AUTHOR_TESTING。由运行自动烟雾测试的CPAN测试人员设置AUTOMATED_TESTING。
归档时间: |
|
查看次数: |
340 次 |
最近记录: |