gpt4 book ai didi

perl - 我怎样才能将不同种类的 Perl 测试分开,这样我就不必全部运行它们了?

转载 作者:行者123 更新时间:2023-11-28 19:41:02 25 4
gpt4 key购买 nike

我注意到在 Perl 中,习惯是将所有测试粘贴到 t 目录中。您如何将单元测试与功能测试分开?或者,为了使问题更简单和更明显,您如何区分快速运行的测试和不快速运行的测试?当所有测试一起运行时,测试花费的时间太长,无法在开发中常规使用,这是一个遗憾。

我想我可以设置一些环境变量,比如 QUICK_TEST 并根据它的值跳过长测试。您是否将单元测试和功能测试分开?如何? (这不是民意调查——我只是想也许有一些惯用的解决方案。)


更新:到目前为止,我已经做到了:

package Test::Slow;

use strict;
use Test::More;

BEGIN {
plan(skip_all => 'Slow test.') if $ENV{QUICK_TEST};
}

1;

在附近的 .t 文件中:

# This is a slow test not meant
# to run frequently.
use Test::Slow;
use Test::More;

它似乎工作得很好。

附言现在可用 Test::Slow在 CPAN 上。

最佳答案

运行一次 prove --state=all,save 将一些信息添加到 .prove

运行 prove --state=slow -j9如果你有一台多核机器,你的测试可以同时运行。这将导致您运行时间最长的测试从一开始就开始,这样它们更有可能在您完成所有其他测试之前完成。这可以减少完成的总体时间,而不会阻止运行任何测试。

关于perl - 我怎样才能将不同种类的 Perl 测试分开,这样我就不必全部运行它们了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1713580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com