【发布时间】:2018-08-27 05:33:56
【问题描述】:
如果模块 A 依赖于模块 B 并且模块 B 升级,A 可能会因更改而中断。我的想法是在升级B 后重新测试A 和B。
我认为最简单的方法就是重新测试可以重新测试的所有内容:从 CPAN 下载每个已安装的模块并执行其测试脚本。
有没有办法下载重测?
如果没有办法,是否有任何帮助程序/API 以便我可以实现这样的工具?
我基本上需要
- 查询安装了什么(包括版本号)
- 下载并解压确切版本
- 执行测试
【问题讨论】:
-
cpan -l为您提供已安装的 cpan 模块和版本的列表,但该列表包括与 Perl 捆绑的模块。如果目标是测试所有内容,那不一定是坏事。cpanm实用程序促进了--test-only模式,并允许您指定版本。 -
您可能会要求提供模块作者选择从 CPAN 中删除的历史版本,这会变得更加困难。长期以来,CPAN 作者被鼓励通过删除旧版本来保持整洁。我不知道是否仍然鼓励这种做法。
-
这个问题应该通过应用程序的测试套件和依赖树来解决。只有当您发现您的系统无法正常工作时,您才应该进一步调查。
-
@Borodin 会破坏
cpan/cpanp/cpanm或prove等系统工具的依赖项更新怎么办?我更新的模块是什么,因为它们已经过时,但实际上并没有使用? -
@DavidO 把你的 cmets 作为答案
标签: perl dependency-management cpan software-update