gpt4 book ai didi

perl - 如何测试 'use' *失败*?

转载 作者:行者123 更新时间:2023-12-05 01:02:44 30 4
gpt4 key购买 nike

Test::More提供常用的use_ok测试以测试模块是否正确加载。但是如何测试模块加载失败? Test::Exception报价 dies_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 - 如何测试 'use' *失败*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25893571/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com