NAME

BZ::Client::Test - Module for writing integration tests

SYNOPSIS

# Create a new instance, reading configuration from either of
# the given files.
my $tester = BZ::Client::Test->new(["config.pl", "t/config.pl"]);
my $skipping = $tester->isSkippingIntegrationTests();
if ($skipping) {
  # Skip integration tests
} else {
  my $client = $tester->client();
  # Run the tests, using the given client.
}

CLASS METHODS

This section lists the class methods.

new

# Create a new instance, reading configuration from either of
# the given files.
my $tester = BZ::Client::Test->new(["config.pl", "t/config.pl"]);

# Create a new instance, providing configuration explicitly.
my $tester = BZ::Client->new("testUrl" => $url,
                             "testUser" => $user,
                             "testPassword" => $password);

Creates a new instance with a configuration for running integration tests. The configuration can be read from a config file or be provided explicitly.

INSTANCE METHODS

This section lists the instance methods.

isSkippingIntegrationTests

my $skipping = $tester->isSkippingIntegrationTests();

Returns, whether the tester is configured to skip integration tests. This is the case, if the method "testUrl" returns a an undefined value.

testUrl

my $url = $tester->testUrl();
$tester->testUrl($url);

Gets or sets the Bugzilla servers URL. This is also used to determine, whether the tester is able to run integration tests or not: If the URL is undefined, then integration tests will be skipped.

testUser

my $user = $tester->testUser();
$tester->testUser($user);

Gets or sets the Bugzilla servers user.

testPassword

my $password = $tester->testPassword();
$tester->testPassword($password);

Gets or sets the Bugzilla servers password.

client

my $client = $tester->client();

Creates an instance of BZ::Client, using the testers configuration. An exception is thrown, if the tester is unable to create a client object, because integration tests are being skipped.

SEE ALSO

L<BZ::Client>