如何运行 perl xt 测试?

Posted

技术标签:

【中文标题】如何运行 perl xt 测试?【英文标题】:How to run perl xt tests? 【发布时间】:2013-02-08 10:29:31 【问题描述】:

最近,Perl 世界出现了新的伟大事物。长期以来在 库包中有包含测试的文件夹t。现在有一个 更多包含作者测试的文件夹xtxt 测试不需要 库安装的过程,但它有助于库自动生成 确保代码很棒。

运行测试的 Perl 附带了一个脚本 prove。如果你跑 prove 不带参数将执行文件夹“t”中的所有测试。如果 你想同时运行 txt 测试你应该写:

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 测试?的主要内容,如果未能解决你的问题,请参考以下文章

如何自动运行大量 perl 脚本?

如何在调试器下运行perl代码块?

如何在cmd中运行perl

如何在 Perl 中自动化一系列测试?

perl在windows下如何运行

如何在 localhost 中运行 perl 脚本?