perl – 如何测试’使用’*失败*?

前端之家收集整理的这篇文章主要介绍了perl – 如何测试’使用’*失败*?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Test::More提供常用的use_ok测试来测试模块是否正确加载.但是如何测试模块无法加载? Test::Exception为类似的故障提供die_ok和堂兄弟,但不是在使用时间.

当模块需要特定参数或特定环境正确加载时,这很有用,我想测试这些条件.举个例子,也许我的’Foo’模块需要一个配置参数,否则无法加载:

use Foo 'eat my hat';  # This should work
use Foo; # This should die

我可以使用Test :: More轻松测试第一个案例:

BEGIN { use_ok('Foo','eat my hat') }

但我该如何测试另一个呢?

BEGIN { use_not_ok('Foo') }  # use_not_ok doesn't exist

解决方法

use Foo;

BEGIN { require Foo; import Foo; }

所以

BEGIN { ok(!eval { require Foo; import Foo; 1 }); }

但我只是去

BEGIN { ok(!eval('use Foo; 1')); }

猜你在找的Perl相关文章