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

为什么我的Perl测试失败?

发布时间:2020-12-15 23:23:27 所属栏目:大数据 来源:网络整理
导读:我创建了以下测试类: package Test::DB;# $Id$#use strict;use warnings;our $VERSION = '0.01';use Carp;use English '-no_match_vars';use Test::Most;use base 'Test::Class';sub startup : Tests(startup) { eval { require esp_libs_db; esp_libs_db-i
我创建了以下测试类:

package Test::DB;

# $Id$
#

use strict;
use warnings;

our $VERSION = '0.01';

use Carp;
use English '-no_match_vars';
use Test::Most;

use base 'Test::Class';

sub startup : Tests(startup) {
    eval {
        require esp_libs_db;

        esp_libs_db->import;

        1;
    } or Carp::croak($EVAL_ERROR);

    return 1;
}

sub connect : Tests(2) {
    can_ok 'esp_libs_db','espDbConnect';

    my $schema = 'test_schema';

    throws_ok { espDbConnect($schema) }
      qr/Cannot locate database ($schema) connection file./,'dies when connection file does not exist';

    return 1;
}

1;

当我来运行测试时,我得到以下输出:

t/run.t ..
#
# Test::DB->connect
1..2
ok 1 - esp_libs_db->can('espDbConnect')
not ok 2 - dies when connection file does not exist

#   Failed test 'dies when connection file does not exist'
#   at t/tests/Test/DB.pm line 39.
#   (in Test::DB->connect)
# expecting: Regexp ((?-xism:Cannot locate database (test_schema) connection file.))
# found: <FONT color=red size=4 face=arial>ERROR: PM_DB_0004: Cannot locate database (test_schema) connection file.</FONT> at t/tests/Test/DB.pm line 38
# Looks like you failed 1 test of 2.
Dubious,test returned 1 (wstat 256,0x100)
Failed 1/2 subtests

Test Summary Report
-------------------
t/run.t (Wstat: 256 Tests: 2 Failed: 1)
  Failed test:  2
  Non-zero exit status: 1
Files=1,Tests=2,3 wallclock secs ( 0.44 usr  0.07 sys +  2.44 cusr  0.43 csys =  3.38 CPU)
Result: FAIL

我不明白为什么第二次测试失败的时候应该非常明确地通过

解决方法

(和)是正则表达式中的特殊字符,请尝试转义它们:

qr/Cannot locate database ($schema) connection file./

(编辑:李大同)

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

    推荐文章
      热点阅读