perl - 测试通过后,有没有办法在 cpan 安装期间运行 perl 代码?

标签 perl cpan

我有自己的 cpan 镜像,其中有一些仅供我们内部使用的注入(inject)模块。我想在 cpan 安装期间运行一些 perl 代码。目前我正在将代码直接注入(inject) Makefile.PL,但问题是它在“make test”之前运行。我希望代码仅在分发测试通过后运行。

一个选项是在最后一个测试文件的末尾注入(inject)代码,但我如何知道所有测试文件中的所有测试是否都已通过? Test::More->builder->is_passing 似乎只知道当前的测试文件。

最佳答案

就我个人而言,我会使用元分布。比如说,Task::MyCorp。然后,这将预先要求您想要的所有模块,并具有额外的好处,即在所有先决条件都已成功测试之前,测试阶段不会运行。

其实我经常有这样的元模块,很像common::sense我可以在其中自动加载我想要的级别的严格警告,并导入我希望随处可用的任何其他功能(日志记录和翻译是两大功能)。在许多情况下,这将是一个方便的地方来预置所有内容。

显然,在不知道您如何设置所有内容的情况下,我无法确定这是否适合您。没有放之四海而皆准的解决方案,因此如果这还不够,也许它会引发一些适合您的情况的想法。

关于perl - 测试通过后,有没有办法在 cpan 安装期间运行 perl 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44121321/

相关文章:

perl - 如何以 diff 命令返回的格式获取 perl 中文件的最后修改时间?

perl - 需要与 CPAN 发行版一起安装的非 Perl 文件?

perl - 如何自动安装 cpan Bio 中的所有依赖项

perl - 用于解析 PDF 文件的 CPAN Perl 模块

perl - 我应该使用哪个 Perl 数据库接口(interface)?

database - 无法连接到 Postgres

perl - 为什么使用 `DEBUG_LEAKING_SCALARS` 编译 perl 时不报告内存泄漏?

regex - perl 正则表达式匹配子串

Perl $$var -- 两个美元符号作为符号?

perl - Chop map 的所有键(使用更少的代码)