Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何并行运行Test::Perl::Critic?_Perl_Parallel Processing_Testing_Perl Critic - Fatal编程技术网

如何并行运行Test::Perl::Critic?

如何并行运行Test::Perl::Critic?,perl,parallel-processing,testing,perl-critic,Perl,Parallel Processing,Testing,Perl Critic,我已经编写了一个简单的测试用例,基于它在存储库中的每个源文件上运行critic(all\u critic\u ok)。然而,这个测试需要很长时间,特别是因为我还使用了一个策略 通常,批评不同的文件并不依赖于其他批评家,所以我想我可以将这些测试并行化。事实证明,它确实可以并行化测试,但只能并行化文件,不能并行化测试 您将如何并行化这些测试?任何解决方法都可以。中有一个方法可以持续运行测试。您可能能够为此目的调整它。如果您有大量文件,那么创建多个Test::Perl::Critic测试脚本可能不是一

我已经编写了一个简单的测试用例,基于它在存储库中的每个源文件上运行
critic
all\u critic\u ok
)。然而,这个测试需要很长时间,特别是因为我还使用了一个策略

通常,批评不同的文件并不依赖于其他批评家,所以我想我可以将这些测试并行化。事实证明,它确实可以并行化测试,但只能并行化文件,不能并行化测试


您将如何并行化这些测试?任何解决方法都可以。

中有一个方法可以持续运行测试。您可能能够为此目的调整它。

如果您有大量文件,那么创建多个Test::Perl::Critic测试脚本可能不是一个坏主意。例如,PerlCritic本身有三个Test::Perl::Critic脚本:一个用于检查应用程序代码,一个用于测试代码,另一个用于*.run文件。每一个都使用了一套稍微不同的规则

因此,如果您可以将代码分成至少两个逻辑组,并为它们创建单独的Test::Perl::Critic脚本,那么通过与Tap::harnese并行运行它们,您可以获得至少2倍的性能改进

此外,还可以激活PPI缓存(有关说明,请参阅Test::Perl::Critic文档)。但这只会使性能略有改善

如果您真的对使Test::Perl::Critic真正并行运行感兴趣,那么非常欢迎您贡献代码。您可以在上注册提交位