6

最近,Perl 世界出现了新的伟大事物。很长一段时间,在库包中都有t包含测试的文件夹。现在多了一个xt包含作者测试的文件夹。在库安装过程中不需要这些xt测试,但它可以帮助库自动确保代码很棒。

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

prove xt t

可以将.proverc参数 ( xt t) 添加到配置文件文件中。然后,当您prove不带参数运行时,它们将从文件中获取,并执行两个文件夹中的测试。

但问题来了。如果您xt t的文件中有.proverc文件,则不能只将文件名作为参数传递给prove. 如果您说 prove t/00-load.t它将执行两个文件夹中的所有测试,因为它从配置文件中获取参数。你需要写prove --norc t/00-load.t。但这似乎很难看。

你如何运行你的xt测试?

4

2 回答 2

2

默认情况下不应运行作者测试 - 您不希望 CPAN 安装失败,因为您的某些 POD 语法错误。理想情况下,它们应该在特别要求时在发布时运行。

有关涉及 Module::Build 的方法,请参阅http://elliotlovesperl.com/2009/11/24/explicitly-running-author-tests/

我有时使用Dist::Zilla,它默认处理作者测试。

于 2013-02-23T13:58:27.413 回答
1

我加

package MY;
sub depend {
  "
xtest :: test
    \$(MAKE) test TEST_FILES=xt/*.t
"
}

Makefile.PL. 这将运行法线测试,然后是xt测试。

于 2018-06-21T11:54:23.630 回答