use Carp::Assert;
$next_sunrise_time = sunrise();
# Assert that the sun must rise in the next 24 hours.
assert(($next_sunrise_time - time) < 24*60*60) if DEBUG;
# Assert that your customer's primary credit card is active
affirm {
my @cards = @{$customer->credit_cards};
$cards[0]->is_active;
};
6条答案
按热度按时间zwghvu4y1#
快速的CPAN搜索建议Carp::Assert。
pkwftd7m2#
参见Carp::Assert:
字符串
juud5qan3#
Smart::Comments很不错。
zpgglvta4#
PerlMonks中有一个脚本,它引入了一个快速Assert方法。
速度很重要,因为Perl是解释性的,任何内联检查都会影响性能(例如,不像简单的C宏)
我不确定这些东西是否可以直接使用。
好了!这就是我要找的--PDF Warning: Test-Tutorial.pdf。
Test::Harness
用于编写Perl模块测试。fbcarpbf5#
字符串
我倾向于在代码中抛出这样的东西,然后使用查找和替换来删除它们(在生产代码中)。
此外,' eval '可用于运行一段代码并捕获错误,还可用于创建异常处理功能。如果你Assert一个值不为0,也许你想抛出一个异常,并以一种特殊的方式处理这种情况?
fdbelqdn6#
字符串
如果您不能访问Carp::Assert所需的Perl 5.9,则可以这样做。