我有自己的 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/