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

标签 perl automated-tests cpan

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

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

是否不可能让 CPAN 测试人员加载一个先决条件的开发版本?或者有解决方法吗?

最佳答案

虽然一些 CPAN 测试人员在测试您的发行版时可能碰巧已经安装了该开发版本,但很可能不会,并且没有办法要求他们确实拥有它。
如果先决条件是 Pure Perl,则可能会将先决条件库的完整副本捆绑在 ./t/bundled/ 中。您的发行版的目录,然后在测试脚本中将其包含在顶部附近以强制自动化测试人员加载捆绑版本:

use FindBin '$Bin';
use if $ENV{AUTOMATED_TESTING}, lib => "$Bin/bundled";
use Name::Of::Prerequisite;
(我不是使用 CPAN 测试人员,而是使用 Travis 持续集成做了类似的事情,迫使它针对来自 GitHub 的某些先决条件的最新结帐进行测试。)

关于perl - 如何让 CPAN 测试人员加载一个先决条件的开发版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36409497/

相关文章:

c# - 在 Specflow 中,我可以将一个测试作为另一个步骤运行吗?

perl - 使用 Dist::Zilla dist.ini 如何设置备用依赖项?

regex - 如何在 Perl 中提取并打印这些命名捕获组?

node.js - 'tsConfigPath' 选项已弃用,并将在下一个主要版本中删除。使用 'compilerOptions.typescript.configPath' 选项代替

perl - 如何使用模板工具包检查数组中是否存在元素

gradle - 在build.gradle中更改胶水

xcode - OSX 10.6 "make"命令不工作

windows - Time::ParseDate 安装失败

perl - 未修剪分支中常量的污染

arrays - 如何在perl中合并两个数组,从每个数组交替值