我应该将perl'xt'测试上传到CPAN吗?

bes*_*bov 4 perl

前段时间,新的东西出现在Perl世界中.问题是xt在模块源代码中创建 目录并放置应该只由作者运行的测试.xt测试的想法是,当从CPAN安装模块时,它们不会运行.

我在想如果安装过程不需要测试,则无需将测试上传到CPAN.我的想法是在我的VSC中进行这些测试,但不要将它们放在tar.gz文件中,而是将其上传到CPAN.

但是现在有很多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
Run Code Online (Sandbox Code Playgroud)

我的问题是关于最好的协议.什么是最好的?要将xt测试上传到CPAN,还是不上传?决定有哪些优势?

adr*_*anh 8

我会说最好的做法是上传.

好处是它可以让人们破解和修补你的代码,并且仍然可以运行完整的测试套件.帮助人们编写补丁 - 并且伤害任何人.

  • 测试也是一种文档,因为它们显示了应该(或不应该)调用,使用或处理事物的方式.将这些分发给用户总是有意义的,除非你想隐藏它们.但那确实很奇怪,不是吗? (2认同)