使用网络任务处理Perl模块时,我必须在测试时检查网络可用性或故障。更确切地说,我需要测试网络可用性,然后测试特定的API可用性。
以下是我的api-interraction.t
测试中的一些代码:
use strict;
use warnings;
use Test::More;
# Foo::Module is using WWW::Curl::Simple
my $requester = Foo::Module->new();
my $query = "http://existing-doma.in?with=some&useful=parameters";
# We should be able to test a bad request too
my $wrong_query = "http://deaddoma.in";
my $api_test_code = $requester->get_api_status($query);
if ($api_test_code == 200) {
cmp_ok($api_test_code, "==", 200, "API reachable - HTTP status = 200");
} else {
cmp_ok($api_test_code, "!=", 200, "API not reachable - HTTP status != 200");
}
当网络出现故障时,似乎无法正常工作。关于如何更好地实现这一目标的任何建议?
答案 0 :(得分:4)
use strict;
use warnings;
use LWP::Simple;
use Test::More tests => 1;
my $query = "http://existing-doma.in";
my $browser = LWP::UserAgent->new;
my $response = $browser->get( $query );
is $response->code, 200;