加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 21:30:53 所属栏目:大数据 来源:网络整理
导读:我注意到,在Perl中,定制是将所有测试粘贴到t目录中.单元测试与功能测试如何分离?或者,为了使问题更简单和更明显,您如何将快速运行的测试与不那么快的测试分开?当所有测试一起运行时,测试需要太长时间才能在开发中常规使用,这是可惜的. 我想我可以设置一些
我注意到,在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 /).

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读