Có cách nào để viết các bài kiểm tra cho các cuộc gọi Perl mà bạn muốn chết không? Tôi muốn xác minh rằng một số cuộc gọi nhất định sẽ chết với các đầu vào được định dạng kém.Lập kế hoạch cho các trường hợp tử vong trong các thử nghiệm perl
sub routine_a {
my $arg = shift;
die if $arg eq 'FOO';
print "routine_a: $arg\n";
}
sub routine_b {
my $arg = shift;
die if $arg eq 'BAR';
print "routine_b: $arg\n";
}
sub test_all {
assert(routine_a("blah"));
assert(routine_b("blab"));
assert_death(routine_a("FOO"));
assert_death(routine_b("BAR"));
}
Tôi tìm thấy [Test :: Fatal] (http://search.cpan.org/perldoc?Test%3a%3aFatal) để dễ sử dụng hơn Test :: Exception, như tôi đã nói trong [ trả lời cho một câu hỏi trước đó về cùng một chủ đề] (http://stackoverflow.com/a/4522172/8355). – cjm