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

perl – 如何测试错误消息,包括$!没有地区问题?

发布时间:2020-12-15 22:03:32 所属栏目:大数据 来源:网络整理
导读:在我的模块中,我有这个代码: croak("unable to parse file: $!"); 然后,在我的测试中,我想检查当我尝试解析不存在的文件时,我得到正确的错误消息: like( exception { HTML::Tree-new_from_file( "t/non_existent.html" ) },qr!^unable to parse file: No s
在我的模块中,我有这个代码:
croak("unable to parse file: $!");

然后,在我的测试中,我想检查当我尝试解析不存在的文件时,我得到正确的错误消息:

like(
    exception { HTML::Tree->new_from_file( "t/non_existent.html" ) },qr!^unable to parse file: No such file !,"opening missing file failed"
);

只要测试运行在英语语言环境中,这样做很好.但是,如果您在德国语言环境中运行测试,错误消息将无法解析文件:测试失败.其他地区也有类似的问题.

我不敢相信这是第一次出现,但是我找不到解决这个问题的CPAN上的任何模块.人们根本从不测试$!部分错误讯息?有没有比更改测试更好的解决方案,只检查qr!^无法解析文件:!

注意:这是RT#77823 in HTML-Tree.

解决方法

你可以使用%!以象征性的方式测试错误
unless (open my $fh,"<","/does/not/exist") {
  die "$0: unexpected errno " . ($! + 0)
    unless $!{ENOENT};
}

(编辑:李大同)

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

    推荐文章
      热点阅读