如何运行 perl xt 测试?
Posted
技术标签:
【中文标题】如何运行 perl xt 测试?【英文标题】:How to run perl xt tests? 【发布时间】:2013-02-08 10:29:31 【问题描述】:最近,Perl 世界出现了新的伟大事物。长期以来在
库包中有包含测试的文件夹t
。现在有一个
更多包含作者测试的文件夹xt
。 xt
测试不需要
库安装的过程,但它有助于库自动生成
确保代码很棒。
运行测试的 Perl 附带了一个脚本 prove
。如果你跑
prove
不带参数将执行文件夹“t”中的所有测试。如果
你想同时运行 t
和 xt
测试你应该写:
prove xt t
可以在配置文件.proverc
文件中添加
参数(xt t
)。然后,当您在不带参数的情况下运行 prove
时,它们将是
从文件中获取,两个文件夹中的测试将被执行。
但是问题来了。如果您的.proverc
文件中有xt t
您不能只将文件名作为参数传递给prove
。如果你说
prove t/00-load.t
它将执行两个文件夹中的所有测试,因为
它从配置文件中获取参数。你需要写prove --norc
t/00-load.t
。但这看起来很难看。
您如何运行xt
测试?
【问题讨论】:
向 Makefile 添加目标怎么样? “丑陋”的代码可以隐藏在那里,而您只需输入make xt
。
【参考方案1】:
默认情况下不应运行作者测试 - 您不希望 CPAN 安装失败,因为您的某些 POD 语法错误。理想情况下,它们应该在特别要求时在发布时运行。
有关涉及 Module::Build 的方法,请参阅 http://elliotlovesperl.com/2009/11/24/explicitly-running-author-tests/。
我有时使用Dist::Zilla,它默认处理作者测试。
【讨论】:
【参考方案2】:我添加
package MY;
sub depend
"
xtest :: test
\$(MAKE) test TEST_FILES=xt/*.t
"
到Makefile.PL
。
这会运行正常测试,然后是 xt
测试。
【讨论】:
以上是关于如何运行 perl xt 测试?的主要内容,如果未能解决你的问题,请参考以下文章