4

不久前,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,还是不上传?这个决定有什么好处?

4

1 回答 1

8

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

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

于 2013-01-31T10:04:53.083 回答