我如何分离不同类型的Perl测试,所以我不必全部运行它们

前端之家收集整理的这篇文章主要介绍了我如何分离不同类型的Perl测试,所以我不必全部运行它们前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到,在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;

似乎工作很好

附:现在可用作CPAN上的Test::Slow.

解决方法

您可以将测试分成t类下的子目录,无论您想要什么分类方案.如果使用环境变量,建议使用默认值(如果未设置变量)来运行所有测试.我已经看到t /只包含在开发中经常运行的测试的情况,而其他测试被放在不同的目录下(例如t-selenium /).

我认为归结于一致性比你所做的选择更重要如果您一致,任何事情都会奏效.

猜你在找的Perl相关文章