不久前,Perl 世界中出现了新事物。问题是在模块源代码中创建
xt
目录,并在那里放置只应由作者运行的测试。测试的想法xt
是当从 CPAN 安装模块时它们不会运行。
我在想,如果安装过程不需要测试,则无需将该测试上传到 CPAN。我的想法是在我的 VSC 中进行这些测试,但不要将它们放在上传到 CPAN 的 tar.gz 文件中。
但是现在有很多 CPAN 模块都有xt
目录。我有一个本地 CPAN 副本,我搜索了这样的模块:
$ find -iname "*.tar*" -exec tar tf {} \; | grep "/xt/" &> modules_with_xt_dir
$ cat modules_with_xt_dir |sort --random-sort|uniq|head
CatalystX-Dispatcher-AsGraph-0.01/xt/03_pod.t
Religion-Bible-Reference-0.014/xt/release/perl-critic.t
DBIx-Custom-0.1674/xt/dbix-connector.t
Geo-Distance-XS-0.09/xt/
FBP-Perl-0.21/xt/pod.t
Getopt-Compact-WithCmd-0.14/xt/01_podspell.t
Dist-Zilla-Plugin-CheckExtraTests-0.004/xt/release/pod-coverage.t
MooseX-GlobRef-0.07/xt/pod_spellrc
Web-Request-0.09/xt/release/pod-syntax.t
Amon2-2.52/eg/Hello/xt/perlcriticrc
我的问题是关于最佳做法的。什么是最好的?将xt
测试上传到 CPAN,还是不上传?这个决定有什么好处?