如何让 CPAN 测试人员加载一个先决条件的开发版本?

Posted

技术标签:

【中文标题】如何让 CPAN 测试人员加载一个先决条件的开发版本?【英文标题】:How to make CPAN Testers load a development release of a prerequisite? 【发布时间】:2016-07-24 09:34:03 【问题描述】:

我最近将两个发行版的开发版本上传到 CPAN,其中一个依赖于另一个。假设一个发行版名为 Distro,另一个名为 Prereq,而 Distro 需要 Prereq 版本 0.009_001。

很遗憾,我没有收到Distro 的任何测试报告。我认为原因是 CPAN 根本不跟踪开发版本的版本。它们没有出现在02packages.details.txt中,所以CPAN认为不能满足依赖。

是否不可能让 CPAN 测试器加载先决条件的开发版本?还是有解决办法?

【问题讨论】:

我很同情,但是有好的模块和坏的模块。听起来你知道如何解决你的问题,所以看起来你没有特定的编程问题 @Borodin 我不明白你想说什么。 我想你会在 irc.perl.org 上的#toolchain 中得到更好的答案。通常的嫌疑人不经常这样做。 @nwellnhof 您能否提供有关PrereqDistro 的具体信息?开发版本应该由 CPAN跟踪,并且应该进入 Cpantesters 流程。 @smonff AFAIU,开发版本仅在 CPAN 的 RECENT 文件中进行跟踪,该文件由 CPANTesters 使用,但未在用于解决先决条件的 02packages.details.txt 中列出。跨度> 【参考方案1】:

虽然一些 CPAN 测试人员在测试您的发行版时可能碰巧已经安装了该开发版本,但很可能不会,而且没有办法要求他们安装。

如果先决条件是 Pure Perl,则可能会在您的发行版的 ./t/bundled/ 目录中捆绑整个先决条件库副本,然后在测试脚本中将其包含在顶部附近以强制捆绑版本为由自动化测试人员加载:

use FindBin '$Bin';
use if $ENVAUTOMATED_TESTING, lib => "$Bin/bundled";
use Name::Of::Prerequisite;

(我不是用 CPAN 测试器做类似的事情,而是用 Travis 持续集成,迫使它针对某些先决条件的 GitHub 的最新结帐进行测试。)

【讨论】:

以上是关于如何让 CPAN 测试人员加载一个先决条件的开发版本?的主要内容,如果未能解决你的问题,请参考以下文章

测试人员和开发人员如何更高效的配合工作

软件测试-如何做一个让开发人员看得起的测试人员

操作系统的 Makefile.PL meta.json 先决条件,因此模块不会安装在 Windows 上

安装 CPAN 模块时如何指定外部库文件位置

敏捷测试一个测试人员在参与敏捷测试的经验分享

如何告诉 CPAN 安装所有依赖项?