为什么我的Perl测试失败?

为什么我的Perl测试失败?,第1张

概述我创建了以下测试类: 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 我创建了以下测试类:

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->connect1..2ok 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 subtestsTest Summary Report-------------------t/run.t (Wstat: 256 Tests: 2 Failed: 1)  Failed test:  2  Non-zero exit status: 1files=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./
总结

以上是内存溢出为你收集整理的为什么我的Perl测试失败?全部内容,希望文章能够帮你解决为什么我的Perl测试失败?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1265159.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存